溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

element-ui使用導(dǎo)航欄跳轉(zhuǎn)路由的用法詳解

發(fā)布時間:2020-08-28 02:48:53 來源:腳本之家 閱讀:1345 作者:AHRL__ 欄目:web開發(fā)

最近初學(xué)vue,試著做一個小項目熟悉語法與思想,其中使用elemen-ui的導(dǎo)航欄做路由跳轉(zhuǎn)切換頁面。下面記錄一下學(xué)習(xí)過程

element-ui引入vue項目的用法參考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">我的工作臺</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:表示當(dāng)前active的菜單項的編號
* index:類型為字符串,在每一個el-menu-item組件上都有一個編號,給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)項目'},
   {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
 }]
})

使用菜單欄進(jìn)行路由跳轉(zhuǎn)有幾個注意點:

1. 在el-menu加上router

2. index必須綁定路由的path,參考上面的例子,'/'不能少

3. default-active設(shè)為當(dāng)前路由(this.$router.path),這樣在路由變化的時候,對應(yīng)的menu-item才會高亮。

拓展知識:vue項目中的路由配置方法

公司的項目使用vue腳手架來搭建,是屬于后臺管理系統(tǒng)。功能頁比較多,就使用vue路由來進(jìn)行跳轉(zhuǎn);

element-ui使用導(dǎo)航欄跳轉(zhuǎn)路由的用法詳解

個人比較習(xí)慣上面這種方式放置路由文件,并且使用懶加載的模式來配置,如下:

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: '設(shè)置'}
  },
  {
   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中使用路由進(jìn)行配置:

element-ui使用導(dǎo)航欄跳轉(zhuǎn)路由的用法詳解

這樣就可以在需要的地方使用路由了。

以上這篇element-ui使用導(dǎo)航欄跳轉(zhuǎn)路由的用法詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI