亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

vue+Vue Router多級側導航切換路由(頁面)的實現代碼

2019-11-19 12:19:31
字體:
來源:轉載
供稿:網友

當當當當當~我又來了。

在項目里經常會遇到側導航切換頁面的功能。

如果我們將側導航做成公共組件,來調用的話,就會在每一個頁面都引用該組件,在后期維護的時候比較麻煩,比如改參數。

所以此文將側導航做成父頁面組件,將切換的頁面做成子頁面,這樣只需調用一次即可。大大減少了后期維護的麻煩

涉及功能點

側導航支持多級

Vue Router的使用方法( 官方文檔

子父組件的寫法

樣式:elementUI

效果圖

實現

--- 目錄結構

--- Vue Router的使用方法

首先安裝 npm install vue-router 。

然后在 main.js 中引入

import router from './router'new Vue({ el: '#app', router, components: { App }, template: '<App/>'})

--- vue頁面使用Vue Router

App.vue 里引用 router-view

router-view 就相當于一個容器,來渲染我們定義的路由

<template> <div id="app">  <router-view></router-view> </div></template>

最好不要在 App.vue 里寫太多內容,把它作為祖父級展示就可以啦,能預防新手使用的一些未知錯誤,如打包出錯之類的。

所以,我在在 App.vue 里引用 router-view 只渲染根頁面,而 components/page 下新建了一個 index.vue 頁面,用來放側導航和渲染子頁面

<template>  <div>    <!--v-sidebar是側導航-->    <v-sidebar ></v-sidebar>    <div class="content" :style="{height: (this.$store.state.bodyHeight-20) + 'px',overflow:'auto'}">     <div></div>      <transition name="move" mode="out-in">      <!--這里的router-view用來渲染子頁面-->      <router-view></router-view>        </transition>    </div>  </div></template><script> //引入側導航組件  import vSidebar from '../common/sideMenu.vue';  export default {    data() {      return {}    },    components:{     //注冊側導航組件      vSidebar    },  }</script>

到此整個側導航切換路由的頁面結構已經完成了

如果你想了解,怎么實現多級導航,那么可以繼續向下看~

我將路由都提出來寫在了單獨的文件里,這樣方便統一維護管理

routerindex.js 將頁面路由的名字和引用路徑都寫好

import Router from 'vue-router';Vue.use(Router);export default new Router( {  routes: [   {    path: '/',    name: 'main', component: main,    children: [     {      path: '/inputDisabled',      component: resolve => require(['../components/page/input/index.vue'], resolve),      meta: {title: '禁止輸入'},     },     {      path: '/indexSelect',      component: resolve => require(['../components/page/input/indexSelect.vue'], resolve),      meta: {title: 'select聯動'},     },     {      path: '/loadMoreUp',      component: resolve => require(['../components/page/loadMore/loadMoreUp.vue'], resolve),      meta: {title: '下拉刷新'},     },    ],   },  ] })

--- 側導航來啦~

我用的是elementUI里的導航插件。

注意

菜單數據結構,我這里寫的是嵌套結構,父級套子級。

而不是并級,用標識來區分。

代碼思路就是循環套循環

<template> <div class="sidebar">  <el-menu class="sidebar-el-menu" :default-active="onRoutes" :collapse="collapse" unique-opened router       collapse-transition>   <template v-for="item in items" v-cloak>    <template v-if="item.subset.length!==0">     <el-submenu :index="item.url" :key="item.url">      <template slot="title">       <!--<img :src="item.icon" style="width: 20px;height: 20px"/>-->       <span slot="title">{{ item.name }}</span>      </template>      <el-menu-item v-for="(subItem,i) in item.subset" :key="i" :index="subItem.url">       <!--<img :src="subItem.icon" style="width: 20px;height: 20px"/>-->       <span slot="title">{{ subItem.name }}</span>      </el-menu-item>     </el-submenu>    </template>    <template v-else>     <el-menu-item :index="item.url" :key="item.url">      <!--<img :src="item.icon" style="width: 20px;height: 20px"/>-->      <span slot="title">{{ item.name }}</span>     </el-menu-item>    </template>   </template>  </el-menu> </div></template><script> export default {  data() {   return {    collapse: false,    items: [{     name: "elementUI之input",     url: "",     subset: [      {name: "禁止輸入", url: "/inputDisabled", subset: []},      { name: "select聯動", url: "/indexSelect", subset: []     }]    }, {name: "手機下拉刷新", url: "/loadMoreUp", subset: []}]   }  },  computed: {   onRoutes() {    //當前激活菜單的 index    return this.$route.path.replace('/', '');   }  }, }</script>

OK 大功告成~

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美三级伦理| 国产精品视频在线观看| 欧美日韩国产在线播放| 国产精品久久久久久久久久久不卡| 1769国内精品视频在线播放| 国产精品一区电影| 亚洲国产精品大全| 久久天堂电影网| 欧美放荡办公室videos4k| 亚洲国产欧美精品| 日本免费一区二区三区视频观看| 欧美美最猛性xxxxxx| 国产一区二区丝袜| 久久精品久久久久电影| 亚洲综合最新在线| 日本精品视频在线观看| 日韩高清免费观看| 欧美限制级电影在线观看| 亚洲国产精品va在看黑人| 久热精品视频在线观看| 97在线精品视频| 国产成人高清激情视频在线观看| 第一福利永久视频精品| 成人午夜一级二级三级| 91丝袜美腿美女视频网站| 日韩在线不卡视频| 日韩国产中文字幕| 久久影院资源网| 亚洲成人精品久久久| 成人免费观看网址| 国产欧美日韩免费| 国产精品美女主播在线观看纯欲| 亚洲天堂av在线免费| 亚洲变态欧美另类捆绑| 国产精品毛片a∨一区二区三区|国| 亚洲字幕一区二区| 日韩欧美视频一区二区三区| 97色在线视频| 日韩在线中文视频| 色婷婷成人综合| 成人午夜在线视频一区| 亚洲精品国产美女| 色婷婷亚洲mv天堂mv在影片| 国产精品99久久久久久人| 欧美最近摘花xxxx摘花| 久久香蕉精品香蕉| 国产精品video| 国产日韩欧美黄色| 国产亚洲精品美女久久久| 色视频www在线播放国产成人| 欧美电影《睫毛膏》| 欧美视频第一页| 狠狠躁夜夜躁人人爽超碰91| 91精品视频在线| 久久久久久亚洲精品不卡| 日本不卡免费高清视频| 亚洲精品99久久久久中文字幕| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲人成网站777色婷婷| 久久精品国产v日韩v亚洲| 久久久久久久久久久亚洲| 成人免费网站在线| 国内外成人免费激情在线视频| 最近2019中文字幕一页二页| 亚洲免费av片| 亚洲人成电影网站色xx| 欧美日韩国产精品| 疯狂欧美牲乱大交777| 欧美激情一区二区三区久久久| 国产精品久久久久99| 国产精品视频地址| 国产精品精品久久久久久| 色综合五月天导航| 亚洲黄色片网站| 日韩av免费在线看| 欧美怡春院一区二区三区| 精品中文字幕在线2019| 午夜精品在线视频| 美女撒尿一区二区三区| 国产视频丨精品|在线观看| 欧美日韩午夜视频在线观看| 91亚洲精华国产精华| xxx成人少妇69| 欧美日本国产在线| 亚洲精品aⅴ中文字幕乱码| 国产丝袜一区二区三区免费视频| 欧美一级视频免费在线观看| 亚洲成人在线网| 国模视频一区二区| 日韩的一区二区| 亚洲精品一区二区久| 精品久久久久久久久国产字幕| 欧美电影在线观看完整版| 一本大道久久加勒比香蕉| 久久露脸国产精品| 亚洲精品成人网| 亚洲欧美变态国产另类| 亚洲精品视频在线播放| 日韩av中文在线| 国产精品福利久久久| 亚洲社区在线观看| 97香蕉久久超级碰碰高清版| 国产欧美久久一区二区| 国产成人综合亚洲| 九九精品在线视频| 成人h猎奇视频网站| 日韩在线激情视频| 欧美人在线观看| 精品国产一区二区三区久久久| 国产成人精品一区二区| 国产日韩专区在线| 亚洲级视频在线观看免费1级| 欧美日韩免费区域视频在线观看| 亚洲第五色综合网| 欧美午夜片欧美片在线观看| 中文字幕国产亚洲2019| 日韩欧美在线视频| 亚洲精品乱码久久久久久金桔影视| 成人性教育视频在线观看| 国产成人高清激情视频在线观看| 另类图片亚洲另类| 亚洲aⅴ日韩av电影在线观看| 亚洲高清av在线| 中文字幕精品一区二区精品| 国产亚洲精品久久久久久777| 国产日韩欧美在线视频观看| 久久中文字幕在线视频| 国产精品一区二区久久| 久久影视电视剧免费网站清宫辞电视| 亚洲成人a级网| 国产91在线播放九色快色| 精品少妇v888av| 亚洲免费伊人电影在线观看av| www.久久撸.com| 久久影院在线观看| 日韩欧美亚洲范冰冰与中字| 亚洲有声小说3d| 97av在线播放| 久久久久久久久爱| 超碰91人人草人人干| 亚洲片av在线| 综合欧美国产视频二区| 国产欧美一区二区三区在线| 亚洲激情在线视频| 亚洲自拍偷拍在线| 91精品中国老女人| 日韩精品视频在线观看免费| 北条麻妃一区二区在线观看| 精品视频中文字幕| 欧美另类第一页| 国产在线视频不卡| 91成人天堂久久成人| 欧美福利在线观看| 久久精品国产精品| 国产日韩综合一区二区性色av| 国产性色av一区二区| 宅男66日本亚洲欧美视频| 国产综合在线视频| 国产亚洲精品美女久久久久| 98精品国产自产在线观看| 在线色欧美三级视频| 亚洲自拍中文字幕| 国产美女91呻吟求| 福利二区91精品bt7086|