最近初学vue,试着做一个小项目熟悉语法与思想,其中使用elemen-ui的导航栏做路由跳转切换页面。下面记录一下学习过程
element-ui引入vue项目的用法参考
首先复制官网的例子,在这基础上再修改成我们想要的样子。
属性:
* default-active:表示当前active的菜单项的编号 * index:类型为字符串,在每一个el-menu-item组件上都有一个编号,给default-active标记
使用菜单栏进行路由跳转:
rush:js;">
数据:
rush:js;">
data() {
return {
navList:[
{name:'/findProject',navItem:'发现项目'},{name:'/communityActivity',navItem:'社区动态'},{name:'/publishProject',navItem:'发布项目'},{name:'/personalCenter',navItem:'个人中心'},{name:'/manageCenter',navItem:'管理员中心'},]
}
}
路由:
rush:js;">
export default new Router({
routes: [{
path: '*',redirect: '/findProject'
},{
path: '/findProject',name: 'findProject',component: findProject
},{
path: '/communityActivity',name: 'communityActivity',component: communityActivity
},{
path: '/publishProject',name: 'publishProject',component: publishProject
},{
path: '/personalCenter',name: 'personalCenter',component: personalCenter
},{
path: '/manageCenter',name: 'manageCenter',component: manageCenter
}]
})
使用菜单栏进行路由跳转有几个注意点:
1. 在el-menu加上router
2. index必须绑定路由的path,参考上面的例子,'/'不能少
3. default-active设为当前路由(this.$router.path),这样在路由变化的时候,对应的menu-item才会高亮。
拓展知识:vue项目中的路由配置方法
公司的项目使用vue脚手架来搭建,是属于后台管理系统。功能页比较多,就使用vue路由来进行跳转;
个人比较习惯上面这种方式放置路由文件,并且使用懒加载的模式来配置,如下:
export default new Router({
mode: 'history',//去掉#号
routes: [
{
path: '/login',name: 'Login',component: resolve => require(['../views/login.vue'],resolve)
},{
path: '/404',name: 'NotFound',component: resolve => require(['../views/404.vue'],{
path: '/',redirect: '/default'
},name: 'Home',component: resolve => require(['../views/index.vue'],resolve),Meta: {title: '自述文件'},children:[
{
path: '/default',component: resolve => require(['../components/default.vue'],Meta: {title: '系统首页'}
},{
path: '/set',component: resolve => require(['../components/set.vue'],Meta: {title: '设置'}
},{
path: '/user',component: resolve => require(['../components/user.vue'],Meta: {title: '账户管理'}
},{
path: '/member',component: resolve => require(['../components/memberList/memberList.vue'],Meta: {title: '会员列表'}
},{
path: '/baseCharts',component: resolve => require(['../components/charts/baseCharts.vue'],Meta: {title: '会员分析'}
}
]
}
]
})
mode: 'history',//去掉#号
routes: [
{
path: '/login',name: 'Login',component: resolve => require(['../views/login.vue'],resolve)
},{
path: '/404',name: 'NotFound',component: resolve => require(['../views/404.vue'],{
path: '/',redirect: '/default'
},name: 'Home',component: resolve => require(['../views/index.vue'],resolve),Meta: {title: '自述文件'},children:[
{
path: '/default',component: resolve => require(['../components/default.vue'],Meta: {title: '系统首页'}
},{
path: '/set',component: resolve => require(['../components/set.vue'],Meta: {title: '设置'}
},{
path: '/user',component: resolve => require(['../components/user.vue'],Meta: {title: '账户管理'}
},{
path: '/member',component: resolve => require(['../components/memberList/memberList.vue'],Meta: {title: '会员列表'}
},{
path: '/baseCharts',component: resolve => require(['../components/charts/baseCharts.vue'],Meta: {title: '会员分析'}
}
]
}
]
})
在main.js中使用路由进行配置:
这样就可以在需要的地方使用路由了。
以上这篇element-ui使用导航栏跳转路由的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。
原文地址:https://www.jb51.cc/js/30812.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。