最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue?Router嵌套路由(children)的用法小結(jié)

 更新時(shí)間:2022年08月12日 09:41:26   作者:IT利刃出鞘  
嵌套路由就是父路由里面嵌套他的子路由,父路由有自己的路由導(dǎo)航和路由容器(router-link、router-view),通過配置children可實(shí)現(xiàn)多層嵌套,這篇文章主要介紹了Vue--Router--嵌套路由(children)的用法,需要的朋友可以參考下

簡(jiǎn)介

說明

本文介紹Vue Router的嵌套路由的用法。

嵌套路由就是父路由里面嵌套他的子路由,父路由有自己的路由導(dǎo)航和路由容器(router-link、router-view),通過配置children可實(shí)現(xiàn)多層嵌套。(router-view必須要有,否則點(diǎn)擊了router-link后,路徑會(huì)變化,但頁(yè)面不改變)。

使用場(chǎng)景

嵌套路由用于實(shí)現(xiàn)頁(yè)中頁(yè)效果。例如:

  • 用戶頁(yè)面中,有登錄頁(yè)面和注冊(cè)頁(yè)面,這兩個(gè)頁(yè)面通過標(biāo)簽切換。

此時(shí):用戶頁(yè)面是父路由,登錄和注冊(cè)頁(yè)面是子路由

  • 后臺(tái)管理頁(yè)面中,布局都是同一套,只是中間的內(nèi)容部分改變。(例如:vue-element-admin
  • 此時(shí):整個(gè)布局是父路由,中間的內(nèi)容頁(yè)面是子路由。

官網(wǎng)網(wǎng)址

https://router.vuejs.org/zh/guide/essentials/nested-routes.html

示例

需求:寫一個(gè)用戶頁(yè)面,里邊有登錄頁(yè)面和注冊(cè)頁(yè)面,這兩個(gè)頁(yè)面通過標(biāo)簽切換。

路由配置

router/index.js

import Vue from 'vue'
import VueRouter from 'vue-router'
import User from '../views/user/User'
import Login from '../views/user/Login'
import Register from '../views/user/Register'
 
Vue.use(VueRouter)
 
const routes = [
  {
    path: '/',
    name: 'Home',
    redirect: User
  },
  {
    path: '/user',
    name: 'User',
    component: User,
    children: [
      {
        path: 'login',
        name: 'Login',
        component: Login
      },
      {
        path: 'register',
        name: 'Register',
        component: Register
      }
    ]
  }
]
 
const router = new VueRouter({
  routes
})
 
export default router

用戶頁(yè)面(父頁(yè)面)

User.vue

<template>
  <div class="outer">
    <h2>這是用戶頁(yè)面</h2>
    <router-link :to="{name: 'Login'}">登錄</router-link> |
    <router-link :to="{name: 'Register'}">注冊(cè)</router-link>
    <router-view></router-view>
  </div>
</template>
 
<script>
export default {
  name: 'User'
}
</script>
 
<style scoped>
.outer {
  margin: 20px;
  border: 2px solid red;
  padding: 20px;
}
</style>

登錄頁(yè)面(子頁(yè)面)

Login.vue

<template>
  <div class="outer">
    <h3>這是登錄頁(yè)面</h3>
  </div>
</template>
 
<script>
export default {
  name: 'Login'
}
</script>
 
<style scoped>
.outer {
  margin: 20px;
  border: 2px solid blue;
  padding: 20px;
}
</style>

注冊(cè)頁(yè)面(子頁(yè)面)

Register.vue

<template>
  <div class="outer">
    <h3>這是注冊(cè)頁(yè)面</h3>
  </div>
</template>
 
<script>
export default {
  name: 'Register'
}
</script>
 
<style scoped>
.outer {
  margin: 20px;
  border: 2px solid blue;
  padding: 20px;
}
</style>

測(cè)試

訪問:http://192.168.0.104:8080/

結(jié)果:

點(diǎn)擊“登錄”/“注冊(cè)”:

子路由的path前加“/”

如果子路由的path的最前邊有“/”,則不需要加父路由的路徑即可訪問此子組件。

例如,修改上邊的“路由配置”,將path: 'login',改為path: '/login',則登錄頁(yè)面可以這樣訪問:

http://192.168.0.104:8080/#/login

示例

router/index.js:

import Vue from 'vue'
import VueRouter from 'vue-router'
import User from '../views/user/User'
import Login from '../views/user/Login'
import Register from '../views/user/Register'
 
Vue.use(VueRouter)
 
const routes = [
  {
    path: '/',
    name: 'Home',
    redirect: User
  },
  {
    path: '/user',
    name: 'User',
    component: User,
    children: [
      {
        path: '/login',
        name: 'Login',
        component: Login
      },
      {
        path: 'register',
        name: 'Register',
        component: Register
      }
    ]
  }
]
 
const router = new VueRouter({
  routes
})
 
export default router

測(cè)試

到此這篇關(guān)于VueRouter嵌套路由(children)的用法的文章就介紹到這了,更多相關(guān)VueRouter嵌套路由內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

浦江县| 涿鹿县| 内丘县| 凯里市| 海伦市| 尼玛县| 昭平县| 福安市| 沐川县| 嘉定区| 丽江市| 三门县| 监利县| 昂仁县| 宜春市| 张北县| 海阳市| 黄浦区| 娄底市| 武乡县| 新丰县| 乳源| 云南省| 林西县| 江北区| 阜城县| 义乌市| 郎溪县| 天门市| 延津县| 灵石县| 阿鲁科尔沁旗| 安义县| 新宾| 永胜县| 余庆县| 鹿泉市| 镇赉县| 望奎县| 尚义县| 达日县|