element-ui使用導(dǎo)航欄跳轉(zhuǎn)路由的用法詳解
最近初學(xué)vue,試著做一個(gè)小項(xiàng)目熟悉語(yǔ)法與思想,其中使用elemen-ui的導(dǎo)航欄做路由跳轉(zhuǎn)切換頁(yè)面。下面記錄一下學(xué)習(xí)過(guò)程
element-ui引入vue項(xiàng)目的用法參考element官網(wǎng)
首先復(fù)制官網(wǎng)的例子,在這基礎(chǔ)上再修改成我們想要的樣子。
<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">我的工作臺(tái)</template> <el-menu-item index="2-1">選項(xiàng)1</el-menu-item> <el-menu-item index="2-2">選項(xiàng)2</el-menu-item> <el-menu-item index="2-3">選項(xiàng)3</el-menu-item> <el-submenu index="2-4"> <template slot="title">選項(xiàng)4</template> <el-menu-item index="2-4-1">選項(xiàng)1</el-menu-item> <el-menu-item index="2-4-2">選項(xiàng)2</el-menu-item> <el-menu-item index="2-4-3">選項(xiàng)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:表示當(dāng)前active的菜單項(xiàng)的編號(hào)
* index:類型為字符串,在每一個(gè)el-menu-item組件上都有一個(gè)編號(hào),給default-active標(biāo)記
使用菜單欄進(jìn)行路由跳轉(zhuǎn):
<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)項(xiàng)目'}, {name:'/communityActivity',navItem:'社區(qū)動(dòng)態(tài)'}, {name:'/publishProject',navItem:'發(fā)布項(xiàng)目'}, {name:'/personalCenter',navItem:'個(gè)人中心'}, {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 }] })
使用菜單欄進(jìn)行路由跳轉(zhuǎn)有幾個(gè)注意點(diǎn):
1. 在el-menu加上router
2. index必須綁定路由的path,參考上面的例子,'/'不能少
3. default-active設(shè)為當(dāng)前路由(this.$router.path),這樣在路由變化的時(shí)候,對(duì)應(yīng)的menu-item才會(huì)高亮。
拓展知識(shí):vue項(xiàng)目中的路由配置方法
公司的項(xiàng)目使用vue腳手架來(lái)搭建,是屬于后臺(tái)管理系統(tǒng)。功能頁(yè)比較多,就使用vue路由來(lái)進(jìn)行跳轉(zhuǎn);
個(gè)人比較習(xí)慣上面這種方式放置路由文件,并且使用懶加載的模式來(lái)配置,如下:
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',//去掉#號(hào) 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)首頁(yè)'} }, { path: '/set', component: resolve => require(['../components/set.vue'],resolve), meta: {title: '設(shè)置'} }, { path: '/user', component: resolve => require(['../components/user.vue'],resolve), meta: {title: '賬戶管理'} }, { path: '/member', component: resolve => require(['../components/memberList/memberList.vue'],resolve), meta: {title: '會(huì)員列表'} }, { path: '/baseCharts', component: resolve => require(['../components/charts/baseCharts.vue'],resolve), meta: {title: '會(huì)員分析'} } ] } ] })
在main.js中使用路由進(jìn)行配置:
這樣就可以在需要的地方使用路由了。
以上這篇element-ui使用導(dǎo)航欄跳轉(zhuǎn)路由的用法詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue組件傳值(高級(jí))、屬性傳值、反向傳值、跨級(jí)傳值實(shí)例詳解
父組件通過(guò)屬性傳值給子組件,父組件修改數(shù)據(jù)后會(huì)刷新頁(yè)面并重新傳值給子組件,子組件可以修改父組件傳的值并刷新自己的頁(yè)面?但是并不會(huì)修改父組件中的值,這篇文章主要介紹了vue組件傳值(高級(jí))、屬性傳值、反向傳值、跨級(jí)傳值,需要的朋友可以參考下2022-09-09Vue結(jié)合ElementUI實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求和頁(yè)面跳轉(zhuǎn)功能(最新推薦)
我們?cè)赑roflie.vue實(shí)例中,有beforeRouteEnter、beforeRouteLeave兩個(gè)函數(shù)分別是進(jìn)入路由之前和離開(kāi)路由之后,我們可以在這兩個(gè)函數(shù)之內(nèi)進(jìn)行數(shù)據(jù)的請(qǐng)求,下面給大家分享Vue結(jié)合ElementUI實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求和頁(yè)面跳轉(zhuǎn)功能,感興趣的朋友一起看看吧2024-05-05Vue路由傳遞參數(shù)與重定向的使用方法總結(jié)
路由的本質(zhì)就是一種對(duì)應(yīng)關(guān)系,比如說(shuō)我們?cè)趗rl地址中輸入我們要訪問(wèn)的url地址之后,瀏覽器要去請(qǐng)求這個(gè)url地址對(duì)應(yīng)的資源,下面這篇文章主要給大家介紹了關(guān)于Vue路由傳遞參數(shù)與重定向的使用方法,需要的朋友可以參考下2022-10-10VUE Error: getaddrinfo ENOTFOUND localhost
這篇文章主要介紹了VUE Error: getaddrinfo ENOTFOUND localhost,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05vue-router實(shí)現(xiàn)編程式導(dǎo)航的代碼實(shí)例
今天小編就為大家分享一篇關(guān)于vue-router實(shí)現(xiàn)編程式導(dǎo)航的代碼實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01解決vue net :ERR_CONNECTION_REFUSED報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了解決vue net :ERR_CONNECTION_REFUSED報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08vue中使用scrollTo沒(méi)有效果的完美解決方法
這篇文章主要介紹了在vue中使用scrollTo沒(méi)有效果的解決方法,本文給大家分享具體操作步驟,在這里需要注意scrollTo要作用在可滾動(dòng)的元素上,不然不生效,scrollTop就會(huì)一直為0,需要的朋友可以參考下2023-10-10element-ui中如何給el-table的某一行或某一列加樣式
本文主要介紹了element-ui中怎么給el-table的某一行或某一列加樣式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01