element-ui使用導航欄跳轉路由的用法詳解
最近初學vue,試著做一個小項目熟悉語法與思想,其中使用elemen-ui的導航欄做路由跳轉切換頁面。下面記錄一下學習過程
element-ui引入vue項目的用法參考element官網
首先復制官網的例子,在這基礎上再修改成我們想要的樣子。
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
<el-menu-item index="1">處理中心</el-menu-item>
<el-submenu index="2">
<template slot="title">我的工作臺</template>
<el-menu-item index="2-1">選項1</el-menu-item>
<el-menu-item index="2-2">選項2</el-menu-item>
<el-menu-item index="2-3">選項3</el-menu-item>
<el-submenu index="2-4">
<template slot="title">選項4</template>
<el-menu-item index="2-4-1">選項1</el-menu-item>
<el-menu-item index="2-4-2">選項2</el-menu-item>
<el-menu-item index="2-4-3">選項3</el-menu-item>
</el-submenu>
</el-submenu>
<el-menu-item index="3" disabled>消息中心</el-menu-item>
<el-menu-item index="4"><a rel="external nofollow" target="_blank">訂單管理</a></el-menu-item>
</el-menu>
<script>
export default {
data() {
return {
activeIndex: '1'
};
},
methods: {
handleSelect(key, keyPath) {
console.log(key, keyPath);
}
}
}
</script>
屬性:
* default-active:表示當前active的菜單項的編號
* index:類型為字符串,在每一個el-menu-item組件上都有一個編號,給default-active標記
使用菜單欄進行路由跳轉:
<el-menu :default-active="this.$router.path" router mode="horizontal">
<el-menu-item v-for="(item,i) in navList" :key="i" :index="item.name">
{{ item.navItem }}
</el-menu-item>
</el-menu>
數(shù)據(jù):
data() {
return {
navList:[
{name:'/findProject',navItem:'發(fā)現(xiàn)項目'},
{name:'/communityActivity',navItem:'社區(qū)動態(tài)'},
{name:'/publishProject',navItem:'發(fā)布項目'},
{name:'/personalCenter',navItem:'個人中心'},
{name:'/manageCenter',navItem:'管理員中心'},
]
}
}
路由:
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腳手架來搭建,是屬于后臺管理系統(tǒng)。功能頁比較多,就使用vue路由來進行跳轉;

個人比較習慣上面這種方式放置路由文件,并且使用懶加載的模式來配置,如下:
import Vue from 'vue'
import Router from 'vue-router'
//import Login from '.././views/login.vue'
//import NotFound from '.././views/404.vue'
//import Home from '.././views/index.vue'
Vue.use(Router)
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'],resolve)
},
{
path: '/',
redirect: '/default'
},
{
path: '/',
name: 'Home',
component: resolve => require(['../views/index.vue'],resolve),
meta: {title: '自述文件'},
children:[
{
path: '/default',
component: resolve => require(['../components/default.vue'],resolve),
meta: {title: '系統(tǒng)首頁'}
},
{
path: '/set',
component: resolve => require(['../components/set.vue'],resolve),
meta: {title: '設置'}
},
{
path: '/user',
component: resolve => require(['../components/user.vue'],resolve),
meta: {title: '賬戶管理'}
},
{
path: '/member',
component: resolve => require(['../components/memberList/memberList.vue'],resolve),
meta: {title: '會員列表'}
},
{
path: '/baseCharts',
component: resolve => require(['../components/charts/baseCharts.vue'],resolve),
meta: {title: '會員分析'}
}
]
}
]
})
在main.js中使用路由進行配置:

這樣就可以在需要的地方使用路由了。
以上這篇element-ui使用導航欄跳轉路由的用法詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
ElementPlus 中el-select自定義指令實現(xiàn)觸底加載請求options數(shù)據(jù)的方法
觸底時,繼續(xù)向后端發(fā)請求獲取下一頁的數(shù)據(jù),請求回來的數(shù)據(jù)合并給options,這篇文章主要介紹了ElementPlus 中el-select自定義指令實現(xiàn)觸底加載請求options數(shù)據(jù)的操作方法,需要的朋友可以參考下2024-08-08
vue 數(shù)據(jù)(data)賦值問題的解決方案
這篇文章主要介紹了vue 數(shù)據(jù)(data)賦值問題的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03

