vue+element ui實現側邊導航欄的路由


正在嘗試用vue+element做網頁,剛寫了側邊導航欄,記錄一下。

用了element中的NavMenu 導航菜單,整個側邊導航欄都可以通過官網上的代碼進行修改來實現。

如下:

 1         <el-menu id="navMenu" :router="true" unique-opened>      
 2           <el-submenu index="1">
 3             <template slot="title"><i class="el-icon-user"></i>用戶管理</template>
 4             <el-menu-item-group>
 5               <el-menu-item index="/cat/catspage">用戶列表</el-menu-item>
 6               <el-menu-item index="/cat/catspage2">貓貓列表</el-menu-item>
 7             </el-menu-item-group> 
 8           </el-submenu>          
 9           <el-submenu index="2">
10             <template slot="title"><i class="el-icon-menu"></i>導航二</template>
11             <el-menu-item-group>
12               <template slot="title">分組一</template>
13               <el-menu-item index="2-1">選項1</el-menu-item>
14               <el-menu-item index="2-2">選項2</el-menu-item>
15             </el-menu-item-group>
16             <el-menu-item-group title="分組2">
17               <el-menu-item index="2-3">選項3</el-menu-item>
18             </el-menu-item-group>
19             <el-submenu index="2-4">
20               <template slot="title">選項4</template>
21               <el-menu-item index="2-4-1">選項4-1</el-menu-item>
22             </el-submenu>
23           </el-submenu>          
24         </el-menu>
1         <el-main id="main">         
2           <router-view></router-view>
3         </el-main>

其中:router="true"表示開啟路由,官方文檔中有寫,開啟后可以直接用index來作為path進行路由跳轉。
在el-main中放一個<router-view></router-view>,跳轉的路由路徑寫在每一個index中。

在index.js中寫路由:

 1 import Vue from 'vue'
 2 import Router from 'vue-router'
 3 import HelloWorld from '@/components/HelloWorld'
 4 
 5 import Cat from '@/components/cats/Cat'
 6 import CatsPage from '@/components/cats/CatsPage'
 7 import CatsPage2 from '@/components/cats/CatsPage2'
 8 
 9 Vue.use(Router)
10 
11 export default new Router({
12   routes: [{
13       path: '/cat',
14       name: 'Cat',
15       component: Cat,
16       children:[
17         {
18           path:'/cat/',
19           name:'CatMain',
20           component:require('@/components/cats/CatMain').default
21         },{
22           path:'/cat/catspage',
23           name:'CatsPage',
24           component:CatsPage
25         },{
26           path:'/cat/catspage2',
27           name:'CatsPage2',
28           component:CatsPage2
29         },
30       ]
31     }
32   ]
33 })

有兩種方式可以設置路由,一種是寫在最前面import CatsPage2 from '@/components/cats/CatsPage2'

;一種是在routes的compoent里面通過require('@/components/cats/CatMain').default

Cat是主頁面,也是側邊導航欄所在的頁面。

children里面是點擊導航欄之后跳轉的頁面,也就是el-main中<router-view></router-view>指向的頁面。

這時候已經可以實現點擊導航欄顯示對應的頁面了。

 

 

 需要注意的是CatMain這部分的path,需要設置為‘/’,才能一打開頁面就顯示首頁,否則打開后el-main中是沒有內容的。

我這邊Cat的路徑是‘/cat’,所以我的首頁CatMain路徑就是‘/cat/’啦。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM