欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue三層嵌套路由的示例代碼

 更新時(shí)間:2018年05月05日 11:44:19   作者:圓夢(mèng)人生  
本篇文章主要介紹了Vue三層嵌套路由的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

Vue嵌套路由:

實(shí)現(xiàn)效果(路由三層嵌套,點(diǎn)擊一級(jí)tab顯示二級(jí)tab效果,二級(jí)tab點(diǎn)擊切換對(duì)應(yīng)內(nèi)容,不在tab區(qū)域里的內(nèi)容,切換時(shí)不重復(fù)渲染):

Demo訪問(wèn)時(shí)路徑:http://IP:端口/#/routers/


1.建立案例文件夾 page/routers/

1 routers/index.vue

<template>
 <div>
   <router-link :to="{name: 'rindex_rhome'}" class="rlink" :class="{active:selected == 1}" @click.native="tabck(1)">首頁(yè)</router-link>
   <router-link :to="{name: 'rindex_rnews'}" class="rlink" class="{active:selected == 2}" @click.native="tabck(2)">新聞</router-link>
   <router-link :to="{name: 'rindex_ryl'}" class="rlink" class="{active:selected == 3}" @click.native="tabck(3)">娛樂(lè)</router-link>
  
    <!-- 二級(jí)子路由頁(yè)面 -->
    <router-view />
 </div>
</template>
<script>
export default {
 data(){
  return {
     selected: 1
  }
 },
 methods: {
  tabck(index){
    this.selected = index; //設(shè)置tab選中項(xiàng)
  }
 }
}
</script>
<style>
 .rlink {
  padding: 5px;
  margin: 5px;
  margin-bottom: 10px;
  display: inline-block;
  text-decoration: none;
  color: blue;
 }

 .rlink.active {
  color: red;
  text-decoration: underline;
 }
</style>

1-1-1 routers/home/index.vue

<template>
 <div>
   HOME頁(yè)面信息:<br/>
   <router-link :to="{name: 'rindex_rhome_Rhomezx'}" class="rlink" :class="{active:selected == 1}" @click.native="tabck(1)">最新HOME</router-link>
   <router-link :to="{name: 'rindex_rhome_Rhomegj'}" class="rlink" :class="{active:selected == 2}" @click.native="tabck(2)">國(guó)際HOME</router-link>
   <router-link :to="{name: 'rindex_rhome_Rhomegn'}" class="rlink" :class="{active:selected == 3}" @click.native="tabck(3)">國(guó)內(nèi)HOME</router-link>
  
  <!-- 子路由(三層) -->
   <router-view />
 </div>
</template>
<script>
 export default {
  data(){
    return {
      selected: 1
    }
  },
  methods: {
   tabck(index) {
     this.selected = index; //設(shè)置選中tab
   }
  }
 }
</script>
<style>
</style>

1-1-2 routers/home/tab/gj.vue、gn.vue、zx.vue

gj.vue:

<template>
 <div>
    國(guó)際HOME信息:<br/>
     <ul >
       <li v-for="(result, index) in list" :key="index">{{result.name}}{{index}}</li>
     </ul>
 </div>
</template>
<script>
 export default {
  data(){
   return {
     list: [
      {name:'國(guó)際HOME'},
      {name:'國(guó)際HOME'},
      {name:'國(guó)際HOME'}
     ]
   }
  }
 }
</script>

gn.vue :

<template>
 <div>
    國(guó)內(nèi)HOME信息:<br/>
     <ul >
       <li v-for="(result, index) in list" :key="index">{{result.name}}{{index}}</li>
     </ul>
 </div>
</template>
<script>
 export default {
  data(){
   return {
     list: [
      {name:'國(guó)內(nèi)HOME'},
      {name:'國(guó)內(nèi)HOME'}
     ]
   }
  }
 }
</script>

zx.vue:

<template>
 <div>
    最新HOME信息:<br/>
     <ul >
       <li v-for="(result, index) in list" :key="index">{{result.name}}{{index}}</li>
     </ul>
 </div>
</template>
<script>
 export default {
  data(){
   return {
     list: [
      {name:'最新HOME'}
     ]
   }
  }
 }
</script>

1-2 routers/news/index.vue

<template>
 <div>
    新聞頁(yè)面信息:<br/>
    <router-link class="rlink" :class="{active:selected == 1}" @cllick.native="tabck(1)">最新新聞</router-link>
    <router-link class="rlink" :class="{active:selected == 2}" @cllick.native="tabck(2)">國(guó)際新聞</router-link>
    <router-link class="rlink" :class="{active:selected == 3}" @cllick.native="tabck(3)">國(guó)內(nèi)新聞</router-link>
  <!-- 子路由 -->
  <router-view/>
 </div>
</template>
<script>
 export default {
  data () {
   return {
     selected: 1
   }
  },
  methods: {
   tabck(index){
    this.selected = index; //切換tab,設(shè)置選中項(xiàng)
   }
  } 
 }
</script>

1-2-1 routers/news/tab/gj.vue、gn.vue、zx.vue

gj.vue:

<template>
 <div>
    國(guó)際新聞信息:<br/>
     <ul >
       <li v-for="(result, index) in list" :key="index">{{result.name}}{{index}}</li>
     </ul>
 </div>
</template>
<script>
 export default {
  data(){
   return {
     list: [
      {name:'國(guó)際新聞信息'},
      {name:'國(guó)際新聞信息'},
      {name:'國(guó)際新聞信息'},
      {name:'國(guó)際新聞信息'},
      {name:'國(guó)際新聞信息'}
     ]
   }
  }
 }
</script>

gn.vue:

<template>
 <div>
    國(guó)內(nèi)新聞信息:<br/>
     <ul >
       <li v-for="(result, index) in list" :key="index">{{result.name}}{{index}}</li>
     </ul>
 </div>
</template>
<script>
 export default {
  data(){
   return {
     list: [
      {name:'國(guó)內(nèi)新聞信息'},
      {name:'國(guó)內(nèi)新聞信息'}
     ]
   }
  }
 }
</script>

zx.vue:

<template>
 <div>
    最新新聞信息:<br/>
     <ul >
       <li v-for="(result, index) in list" :key="index">{{result.name}}{{index}}</li>
     </ul>
 </div>
</template>
<script>
 export default {
  data(){
   return {
     list: [
      {name:'最新新聞信息'},
      {name:'最新新聞信息'}
     ]
   }
  }
 }
</script>

1-3-1 routers/yl/index.vue

<template>
 <div>
    娛樂(lè)頁(yè)面信息:<br/>
    <router-link class="rlink" :class="{active:selected == 1}" @click.native="tabck(1)">最新娛樂(lè)</router-link>
    <router-link class="rlink" :class="{active:selected == 2}" @click.native="tabck(2)">明星娛樂(lè)</router-link>
    <router-link class="rlink" :class="{active:selected == 3}" @click.native="tabck(3)">焦點(diǎn)娛樂(lè)</router-link>
   
    <!-- 子路由-->
    <router-view/>
 </div>
 <script>
  export default {
   data(){
    return {
     selected: 1
    }
   },
   methods: {
    tabck(index){
     this.selected = index; //設(shè)置tab選中項(xiàng)
    }
   }
  }
 </script>
</template>

1-3-2 routers/yl/tab/jd.vue、mx.vue、zx.vue

jd.vue:

<template>
 <div>
    焦點(diǎn)娛樂(lè)信息:<br/>
     <ul >
       <li v-for="(result, index) in list" :key="index">{{result.name}}{{index}}</li>
     </ul>
 </div>
</template>
<script>
 export default {
  data(){
   return {
     list: [
      {name:'焦點(diǎn)娛樂(lè)信息'},
      {name:'焦點(diǎn)娛樂(lè)信息'}
     ]
   }
  }
 }
</script>

mx.vue:

<template>
 <div>
    明星娛樂(lè)信息:<br/>
     <ul >
       <li v-for="(result, index) in list" :key="index">{{result.name}}{{index}}</li>
     </ul>
 </div>
</template>
<script>
 export default {
  data(){
   return {
     list: [
      {name:'明星娛樂(lè)信息'},
      {name:'明星娛樂(lè)信息'}
     ]
   }
  }
 }
</script>

zx.vue:

<template>
 <div>
    最新娛樂(lè)信息:<br/>
     <ul >
       <li v-for="(result, index) in list" :key="index">{{result.name}}{{index}}</li>
     </ul>
 </div>
</template>
<script>
 export default {
  data(){
   return {
     list: [
      {name:'最新娛樂(lè)信息'},
      {name:'最新娛樂(lè)信息'}
     ]
   }
  }
 }
</script>

2.路由配置規(guī)則(router/index.js)

....
 省略導(dǎo)入路由、使用路由代碼...
....
// 嵌套路由的使用:第一層
import Rindex from '../page/routers/index'
// 嵌套路由的使用:第二層
import Rhome from '../page/routers/home/index'
// 嵌套路由的使用:第三層
import Rhomezx from '../page/routers/home/tab/zx'
import Rhomegj from '../page/routers/home/tab/gj'
import Rhomegn from '../page/routers/home/tab/gn'
import Rnews from '../page/routers/news/index'
import Rnewszx from '../page/routers/news/tab/zx'
import Rnewsgj from '../page/routers/news/tab/gj'
import Rnewsgn from '../page/routers/news/tab/gn'
import Ryl from '../page/routers/yl/index'
import Rylzx from '../page/routers/yl/tab/zx'
import Rylmx from '../page/routers/yl/tab/mx'
import Ryljd from '../page/routers/yl/tab/jd'
// 路由規(guī)則配置:
export default new Router({
 routes : [
  {
   name: 'rindex',
   path: '/routers',
   component: Rindex,
   redirect: {name: 'rindex_rhome'}, // 跳轉(zhuǎn)到下一級(jí)第一個(gè)
   children: [
     {
       name: 'rindex_rhome',
       path: 'rindex_rhome', //如果這里不使用 "/rhome" 則表示是歸屬于上級(jí)路由(上級(jí)luyou/子path),如果使用 "/rhome" 則表示根路徑下訪問(wèn)
       component: Rhome,
       redirect: {name: 'rindex_rhome_Rhomezx'}, //跳轉(zhuǎn)到下級(jí)第一層
       children: [
        {
         name: 'rindex_rhome_Rhomezx',
         path: 'rindex_rhome_Rhomezx',
         component: Rhomezx
        },
        {
         name: 'rindex_rhome_Rhomegj',
         path: 'rindex_rhome_Rhomegj',
         component: Rhomegj
        },
        {
         name: 'rindex_rhome_Rhomegn',
         path: 'rindex_rhome_Rhomegn',
         component: Rhomegn
        }
      ]
     },
     {
      name: 'rindex_rnews',
      path: 'rindex_rnews',
      component: Rnews,
      redirect: {name: 'rindex_rnews_Rnewszx'},
      children: [
       {
         name: 'rindex_rnews_Rnewszx',
         path: 'rindex_rnews_Rnewszx',
         component: Rnewszx
       },
       {
         name: 'rindex_rnews_Rnewsgj',
         path: 'rindex_rnews_Rnewsgj',
         component: Rnewsgj
       },
       {
         name: 'rindex_rnews_Rnewsgn',
         path: 'rindex_rnews_Rnewsgn',
         component: Rnewsgn
       }
      ]
    },
    {
      name: 'rindex_ryl',
      path: 'rindex_ryl',
      component: Ryl,
      redirect: {name: 'rindex_ryl_rylzx'},
      chidren:[
        {
          name: 'rindex_ryl_rylzx',
          path: 'rindex_ryl_rylzx',
          component: Rylzx
        },
        {
          name: 'rindex_ryl_rylmx',
          path: 'rindex_ryl_rylmx',
          component: Rylmx
        },
        {
          name: 'rindex_ryl_ryljd',
          path: 'rindex_ryl_ryljd',
          component: Ryljd
        }
      ]
    }
   ]
  }
 ]
});

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解vue使用Echarts畫(huà)柱狀圖

    詳解vue使用Echarts畫(huà)柱狀圖

    這篇文章主要為大家介紹了vue使用Echarts畫(huà)柱狀圖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • Vue配置marked鏈接添加target=

    Vue配置marked鏈接添加target="_blank"的方法

    這篇文章主要介紹了Vue配置marked鏈接添加target="_blank"的方法,文中給大家提到了vue實(shí)現(xiàn)類(lèi)似target="_blank"打開(kāi)新窗口的代碼,感興趣的朋友參考下吧
    2019-07-07
  • Vue動(dòng)態(tài)加載異步組件的方法

    Vue動(dòng)態(tài)加載異步組件的方法

    這篇文章主要介紹了Vue動(dòng)態(tài)加載異步組件的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Vue重要修飾符.sync對(duì)比v-model的區(qū)別及使用詳解

    Vue重要修飾符.sync對(duì)比v-model的區(qū)別及使用詳解

    這篇文章主要為大家介紹了Vue中重要修飾符.sync與v-model的區(qū)別對(duì)比及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 前端啟動(dòng)出現(xiàn)報(bào)錯(cuò)提示vue-cli-service?serve的原因及解決辦法

    前端啟動(dòng)出現(xiàn)報(bào)錯(cuò)提示vue-cli-service?serve的原因及解決辦法

    這篇文章主要給大家介紹了關(guān)于前端啟動(dòng)出現(xiàn)報(bào)錯(cuò)提示vue-cli-service?serve的原因及解決辦法,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • 淺析vue cli3 封裝Svgicon組件正確姿勢(shì)(推薦)

    淺析vue cli3 封裝Svgicon組件正確姿勢(shì)(推薦)

    這篇文章主要介紹了vue cli3 封裝Svgicon組件正確姿勢(shì),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Vue實(shí)現(xiàn)登錄記住賬號(hào)密碼功能的思路與過(guò)程

    Vue實(shí)現(xiàn)登錄記住賬號(hào)密碼功能的思路與過(guò)程

    最近在學(xué)習(xí)vue,發(fā)現(xiàn)了vue的好多坑,下面這篇文章主要給大家介紹了關(guān)于Vue實(shí)現(xiàn)登錄記住賬號(hào)密碼功能的思路與過(guò)程,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-11-11
  • Vuex中State的使用方法

    Vuex中State的使用方法

    這篇文章主要介紹了Vuex中State的使用方法,Vuex 使用單一狀態(tài)樹(shù),用一個(gè)對(duì)象就包含了全部的應(yīng)用層級(jí)狀態(tài),這也意味著,每個(gè)應(yīng)用將僅僅包含一個(gè) store 實(shí)例,需要的朋友可以參考下
    2023-11-11
  • Vue中前后端使用WebSocket詳細(xì)代碼實(shí)例

    Vue中前后端使用WebSocket詳細(xì)代碼實(shí)例

    websocket通信是很好玩的,也很有用的的通信方式,下面這篇文章主要給大家介紹了關(guān)于Vue中前后端使用WebSocket的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • vue動(dòng)畫(huà)效果實(shí)現(xiàn)方法示例

    vue動(dòng)畫(huà)效果實(shí)現(xiàn)方法示例

    這篇文章主要介紹了vue動(dòng)畫(huà)效果實(shí)現(xiàn)方法,結(jié)合完整實(shí)例形式分析了vue.js+animate.css實(shí)現(xiàn)的動(dòng)畫(huà)切換效果相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03

最新評(píng)論