搭建VueJS2.9+ElementUI单页面网站,编写导航页,导航栏跳转、切换

news/2024/5/20 7:22:30/文章来源:https://blog.csdn.net/tangdou5682/article/details/78497356

对于一个单页面应用来说,导航页是至关重要的一个页面,所有的组件都会在这个页面里进行显示。先看效果图,文章最下边有我的模板源代码下载路径。接下来我们就开始进行导航页的开发。
这里写图片描述

1、安装vue-router
搭建vue环境时装过的忽略此步骤。在终端中cd 进入项目路径

npm install vue-router --save

安装完成后,我们在src目录下创建一个新目录,名字为router,然后在router文件夹下建立一个javascript文件,名字为index.js,创建完毕后现在的目录结构为
这里写图片描述
2、创建导航页组件
在src目录下新建一个文件夹,名为components,我的页面文件都放在这个文件夹中了。然后在components目录下新建一个Home.vue,下面是我建好的目录一个home+3个子页面,如下图所示:
这里写图片描述

3、修改main.js
在src文件夹下的main.js ,引用home+修改页面入口,改完如下

import Vue from 'vue'
import home from './components/Home.vue'    
import router from './router'   //安装完router后引用,没安装的参考步骤1
import Element from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'Vue.config.productionTip = falseVue.use(router)
Vue.use(Element)new Vue({router,render: h => h(home)
}).$mount('#app')

可以看到render函数的参数由之前的App变为新创建的home组件。从此我们的程序入口中显示的就是这个home.vue里面的内容了。之前默认生成的App.vue文件已经没用,可以删掉它。

3、对导航页进行简单的布局
下边是我home文件中的布局代码 (介于文章长度css没贴)

<template>
<div id="app"><el-container class="con_section"><el-header class="blueheader"><h2 class="headlogo">我的公司logo</h2><el-col :span="3" class="userinfo"><el-dropdown><i class="el-icon-setting" style="margin-right: 15px"></i><el-dropdown-menu slot="dropdown"><el-dropdown-item>查看</el-dropdown-item><el-dropdown-item>新增</el-dropdown-item><el-dropdown-item>删除</el-dropdown-item></el-dropdown-menu></el-dropdown><span>王小虎</span></el-col></el-header><el-container><el-aside style="flex: 0 0 230px;width: 230px;background:#eef1f6"><el-menu default-active="1" class="el-menu-vertical-demo"><el-submenu index="1"><template slot="title"><i class="el-icon-message"></i>管理系统</template><el-menu-item index="1">列表管理</el-menu-item><el-menu-item index="2">表单管理</el-menu-item></el-submenu></el-menu></el-aside><el-main class="home_main"><!--主窗口--></el-main></el-container></el-container>
</div>
</template><script>export default {data(){return {searchCriteria: '',}},methods:{handleIconClick(ev) {console.log(ev);},},}
</script>

这里面主要参考container布局容器实例,和其他一些ElementUI的组件。都可以在ElementUI的官方网站中找到。

4、创建子页面
在配置路由信息之前,我们先把需要跳转到的页面创建出来。我的三个子页面之前都画好了(product,forms,strategy,下边截图以这为准)。新手可以在components目录下创建三个简单的:page1、page2和page3,分别在里面加入一行字,例如page1

<template><div>这是第一个页面</div>
</template>
<script type="text/ecmascript-6">export default {data(){return {}}}
</script>

page2,page3类似。

5、配置路由信息,即子栏的地址
创建好了首页导航栏之后,我们需要对路由信息进行配置,/src/router/index.js是vuejs单页面应用的关键(安装完router后才有,没安装的参考步骤1)。
这里边存的就是对跳转路径的配置。我们在这个文件中加入如下代码:

import Vue from 'vue'
import Router from 'vue-router'
import home from '@/components/Home'    //需要几个页面,引几个
import product from '@/components/product'   
import forms from '@/components/forms'Vue.use(Router)const router = new Router({routes:[{path: '/',name: '管理系统',component: home,children: [{ path: '/product', component: product, name: '列表管理' },{ path: '/forms', component: forms, name: '表单管理' },// { path: '/strategy', component: strategy, name: '瞎画的' },]}]
});
export default router;

6、修改home.vue
修改后代码如下,改动的地方我加注释了

<template>
<div id="app"><el-container class="con_section"><el-header class="blueheader"><h2 class="headlogo">我的公司logo</h2><el-col :span="3" class="userinfo"><el-dropdown><i class="el-icon-setting" style="margin-right: 15px"></i><el-dropdown-menu slot="dropdown"><el-dropdown-item>查看</el-dropdown-item><el-dropdown-item>新增</el-dropdown-item><el-dropdown-item>删除</el-dropdown-item></el-dropdown-menu></el-dropdown><span>王小虎</span></el-col></el-header><el-container><el-aside style="flex: 0 0 230px;width: 230px;background:#eef1f6"><el-menu default-active="1" class="el-menu-vertical-demo" @select="handleSelect">     <!--加导航栏点击事件--><el-submenu index="1"><template slot="title"><i class="el-icon-message"></i>管理系统</template><el-menu-item index="1">列表管理</el-menu-item><el-menu-item index="2">表单管理</el-menu-item></el-submenu></el-menu></el-aside><el-main class="home_main">   <!--使用全局route--><el-col :span="24" class="breadcrumb-container"><strong class="title">{{$route.name}}</strong><el-breadcrumb separator="/" class="breadcrumb-inner"><el-breadcrumb-item v-for="item in $route.matched" :key="item.path">{{ item.name }}</el-breadcrumb-item></el-breadcrumb></el-col><el-col :span="24"><div style="margin-top:10px"><router-view></router-view>    <!-- 最重要的标签,用来显示跳转的页面 --></div></el-col></el-main></el-container></el-container>
</div>
</template><script>export default {data(){return {searchCriteria: '',}},methods:{handleIconClick(ev) {console.log(ev);},//我们给左侧的菜单栏添加了一个响应,在响应函数中作出了路由跳转的处理。this.$router.push('/Page1');这句话的意思就是将当前要跳转的页面push到router的数组中。这里使用push而不是直接给数组赋值的原因是希望用户点击浏览器中的后退和前进按钮时可以回到之前操作的页面。handleSelect(key, keyPath){    switch(key){case '1':this.$router.push('/product');break;case '2':this.$router.push('/forms');break;}},},}
</script>

7、测试,完成
修改完成后我们可以看一下效果,注意浏览器地址栏的变化:
这里写图片描述

这里写图片描述
8、源代码
1、整个vue项目地址见这:https://github.com/webDxx/my-vue-project.git
运行该项目需要安装环境,nodejs,vue-cli,webpack,router,
然后npm install ,npm run dev
ps:我vue小白,第一次装环境装了3天,各种报错。祝各位君好运,嘿嘿嘿……^^。

2、页面代码+json文件:
http://download.csdn.net/download/tangdou5682/10113479

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_850959.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大型网站系统架构分析

本文转载自博客 Mainzs Blog 感谢作者的辛勤劳动成果过 大型网站系统架构分析 千万级的注册用户&#xff0c;千万级的帖子&#xff0c;nTB级的附件&#xff0c;还有巨大的日访问量&#xff0c;大型网站采用什么系统架构保证性能和稳定性&#xff1f; 首先讨论一下大型网站需…

大型网站架构演变和知识体系

&#xff08;原文&#xff1a;http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html&#xff09;之前也有一些介绍大型网站架构演变的文章&#xff0c;例如LiveJournal的、ebay的&#xff0c;都是非常值得参考的&#xff0c;不过感觉他们讲的更多的是每次演变的结…

大型网站架构

这里转载几篇关于大型网站架构方面的内容&#xff0c;以便日后细细品读。一下内容均来自Mainzs Blog 架构设计之性能设计经验 性能(performance)设计非常重要&#xff0c;对于服务器端实时交易系统来说系统性能的重要性不言而喻&#xff0c;对客户端软件来说性能好的软件也…

IIS6.1无法发布vs2010开发的网站若干问题的解决方案

1、未能加载文件或程序集“XXX”或它的某一个依赖项。系统找不到指定的文件 基本的思路是缺少某个引用的文件&#xff0c;出现类似的错误有多种情况。说一下我这里出现这种情况的原因 由于做项目时web.config文件需要一些配置&#xff0c;比如说Form认证&#xff0c;所以我直接…

大型网站系统架构演化之路

前言 一个成熟的大型网站&#xff08;如淘宝、京东等&#xff09;的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性&#xff0c;它总是随着用户量的增加&#xff0c;业务功能的扩展 逐渐演变完善的&#xff0c;在这个过程中&#xff0c;开发模式、技术架构、设…

简单登录网站的搭建(未完成)

简单登录网站搭建 题干&#xff1a; 自己写一个登陆页面&#xff0c;并能实现对接数据库&#xff0c;判断用户名与密码是否正确。 步骤&#xff1a; 我这里并没有完整的搭建成功 只是进行了前后端代码的编写 &#xff08;PHPSTUDY的环境没搭建好 没能成功的连接上数据库&am…

推荐四个在线任务管理网站

推荐四个在线任务管理网站 Posted on 2008-01-11by David Zou 现在通过网上协作完成的任务是越来越多了。 Capote movies 网络协作的优势不言而喻&#xff1a; 不需要在乎对方的学历、年龄、性格、相貌等等&#xff0c;只要你们有想要完成同一件事情&#xff0c;就可以进行网络…

在RHEL8的系统上搭建网站

在rhel8的系统上搭建网站&#xff1a;该网站ip地址主机位为11&#xff0c;设置documentroot为/www/任意字母&#xff0c;网页内容为&#xff1a;my name is… 准备工作&#xff1a;配置yum源 更新httpd 开始操作&#xff1a; 启动服务&#xff1a; 查看状态&#xff1a; 查…

基于ASP.NET和Sql Server实现的读书平台网站

1 课程设计目的 综合运用软件工程思想、面向对象分析和设计方法、ASP.NET、数据库等基础知识&#xff0c;完成一个B/S架构的Web应用程序,掌握应用ASP.NET技术开发中小型网站的相关知识和技术。 2 课程设计内容 针对一个咸鱼读书网系统项目需求&#xff0c;利用数据库管理系统…

基于HTML实现的游戏专题网站

摘 要大观园系列是游民星空出品的向广大用户提供了解新上市游戏的方便途径&#xff0c;上玩家直观的看到游戏界面&#xff0c;内容&#xff0c;人物设定&#xff0c;剧情等重要信息&#xff0c;促使玩家购买。提供方便的同时&#xff0c;也增加了网站浏览量。大观园&#xff1a…

小说网站-包括PC版本和移动版本

一、网站简介1.1 设计思路根据一般人阅读小说的顺序&#xff0c;利用了HTML5、CSS3制作一个普通pc端和跨平台移动端。PC端&#xff1a;小说的首页、小说某类具体信息、某小说详细信息页移动端&#xff1a;小说的首页、小说分类、小说某类具体信息、小说详情1.2 网站的主体功能小…

好客租房67-render-props模式-3演示mouseover的组件的复用

//导入react import React from react import ReactDOM from react-dom//导入组件 // 约定1&#xff1a;类组件必须以大写字母开头 // 约定2:类组件应该继承react.component父类 从中可以使用父类的方法和属性 // 约定3:组件必须提供render方法 // 约定4:render方法必须有返回值…

10天学会Web标准建站

目录&#xff1a; 使用Web标准建站第1天&#xff1a;选择什么样的DOCTYPE 使用Web标准建站第2天&#xff1a;什么是名字空间 使用Web标准建站第3天&#xff1a;定义语言编码 使用Web标准建站第4天&#xff1a;调用样式表 使用Web标准建站第5天&#xff1a;XHTML代码规范 使用We…

阿里云CDN网站违规URL屏蔽访问处理方案

阿里云CDN网站违规URL屏蔽访问处理方案 今天收到阿里云cdn的通知&#xff1a; 尊敬的****XXX.com&#xff1a;您的网站URL&#xff1a;http://XXXX.XXXXX.com/XX/XXX/XXX.apk涉及违法不良信息&#xff0c;违反了相关服务协议和《互联网信息服务管理办法》第十五条规定&#x…

提高网站速度的最佳实践

相信互联网已经越来越成为人们生活中不可或缺的一部分。ajax&#xff0c;flex等等富客户端的应用使得人们越加“幸福”地体验着许多原先只能在C/S实 现的功能。比如Google机会已经把最基本的office应用都搬到了互联网上。当然便利的同时毫无疑问的也使页面的速度越来越慢。自己…

大型网站架构演变和知识体系

在这篇文章中将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系&#xff0c;希望能给想从事互联网行业的同学一点初步的概念。 之前也有一些介绍大型网站架构演变的文章&#xff0c;例如LiveJournal的、ebay的&#xff0c;都是非常值…

介绍一款开源、高性价比的在线教育建站系统

今天给大家介绍一款开源在线教育建站系统——edusoho&#xff0c;项目是用PHP开发&#xff0c;所以基本上会搭建php站点就可以完成本次的搭建。 先看看安装之后的登录界面。 去官网下载源码 笔者下载企培开源版&#xff1a;edusoho-ct-21.4.5.zip 系统说明 1.系统&#xff1…

网站用户单点登录系统解决方案

1 背景 在网站建设的过程中&#xff0c;多个应用系统一般是在不同的时期开发完成的。各应用系统由于功能侧重、设计方法和开发技术有所不同&#xff0c;也就形成了各自独立的用户库和用户认证体系。随着网站的发展&#xff0c;会出现这样的用户群体&#xff1a;以其中的一个用户…

Rational AppScan 扫描大型网站

Rational AppScan 工作原理 Rational AppScan(简称 AppScan)其实是一个产品家族&#xff0c;包括众多的应用安全扫描产品&#xff0c;从开发阶段的源代码扫描的 AppScan source edition&#xff0c;到针对 Web 应用进行快速扫描的 AppScan standard edition&#xff0c;以及进行…