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

vue-router:嵌套路由的使用方法

 更新時間:2017年02月21日 16:28:54   作者:github_26672553  
本篇文章主要介紹了vue-router:嵌套路由的使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

模板抽離

我們已經(jīng)學習過了Vue模板的另外定義形式,使用<template></template>。

  <!-- 模板抽離出來 -->
  <template id="home">
    <div>首頁</div>
  </template>

  <template id="news">
    <div>新聞</div>
  </template>

然后js里定義路由組件的時候:

    // 1. 定義(路由)組件。
    const Home = { template: '#home' };
    const News = { template: '#news' };

路由嵌套

實際應用界面,通常由多層嵌套的組件組合而成。

比如,我們 “首頁”組件中,還嵌套著 “登錄”和 “注冊”組件,那么URL對應就是/home/login和/home/reg。

  <template id="home">
    <!-- 注意:組件只能有一個根元素,所以我們包裝到這個div中 -->
    <div>
      <h2>首頁</h2>
       <router-link to="/home/login">登錄</router-link>
      <router-link to="/home/reg">注冊</router-link>
      <!-- 路由匹配到的組件將渲染在這里 -->
      <router-view></router-view>
    </div>
  </template>

這是訪問/home后的模板,其中我們需要把/home/login和/home/reg渲染進來。

完成上面代碼后,HTML結(jié)構(gòu)如下圖:

這里寫圖片描述

登錄和注冊2個組件

  <template id="login">
    <div>登錄界面</div>
  </template>
  <template id="reg">
    <div>注冊界面</div>
  </template>
//定義路由組件
const Login = { template: '#login' };
    const Reg = { template: '#reg' };

3.定義路由

    // 2. 定義路由
    const routes = [
       { path: '/', redirect: '/home' },
      { 
        path: '/home', 
        component: Home, 
        children:[
          { path: '/home/login', component: Login},
          { path: '/home/reg', component: Reg}
        ]
      },
      { path: '/news', component: News}
    ]

注意我們在home路由配置了它的children。這就是嵌套路由。

4.案例全部代碼如下:

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <meta charset="utf-8">
  <script src="http://unpkg.com/vue/dist/vue.js"></script>
  <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
</head>
<body> 
  <div id="box">
    <p>
      <router-link to="/home">home</router-link>
      <router-link to="/news">news</router-link>
    </p>
     <router-view></router-view>
  </div>

  <!-- 模板抽離出來 -->
  <template id="home">
    <!-- 注意:組件只能有一個根元素,所以我們包裝到這個div中 -->
    <div>
      <h2>首頁</h2>
       <router-link to="/home/login">登錄</router-link>
      <router-link to="/home/reg">注冊</router-link>
      <!-- 路由匹配到的組件將渲染在這里 -->
      <router-view></router-view>
    </div>
  </template>

  <template id="news">
    <div>新聞</div>
  </template>

  <template id="login">
    <div>登錄界面</div>
  </template>
  <template id="reg">
    <div>注冊界面</div>
  </template>

  <script type="text/javascript">
    // 1. 定義(路由)組件。
    const Home = { template: '#home' };
    const News = { template: '#news' };

    const Login = { template: '#login' };
    const Reg = { template: '#reg' };

    // 2. 定義路由
    const routes = [
       { path: '/', redirect: '/home' },
      { 
        path: '/home', 
        component: Home, 
        children:[
          { path: '/home/login', component: Login},
          { path: '/home/reg', component: Reg}
        ]
      },
      { path: '/news', component: News}
    ]

    // 3. 創(chuàng)建 router 實例,然后傳 `routes` 配置
    const router = new VueRouter({
      routes // (縮寫)相當于 routes: routes
    })


    // 4. 創(chuàng)建和掛載根實例。
    // 記得要通過 router 配置參數(shù)注入路由,
    // 從而讓整個應用都有路由功能
    const app = new Vue({
     router
    }).$mount('#box')

    // 現(xiàn)在,應用已經(jīng)啟動了!
  </script>
</body>
</html>

這里寫圖片描述

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 深入了解Vue之組件的生命周期流程

    深入了解Vue之組件的生命周期流程

    每個Vue實例在創(chuàng)建時都要經(jīng)過一系列初始化,?例如設(shè)置數(shù)據(jù)監(jiān)聽、編譯模板、將實例掛載到DOM并在數(shù)據(jù)變化時更新DOM等,同時,?也會運行一些叫作生命周期鉤子的函數(shù),接下來讓我們一起來探索Vue實例被創(chuàng)建時都經(jīng)歷了什么,感興趣的同學跟著小編一起來探討吧
    2023-05-05
  • vue 需求 data中的數(shù)據(jù)之間的調(diào)用操作

    vue 需求 data中的數(shù)據(jù)之間的調(diào)用操作

    這篇文章主要介紹了vue 需求 data中的數(shù)據(jù)之間的調(diào)用操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue.js中指令Directives詳解

    vue.js中指令Directives詳解

    這篇文章主要為大家詳細介紹了vue.js中指令Directives,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 在antd Table中插入可編輯的單元格實例

    在antd Table中插入可編輯的單元格實例

    這篇文章主要介紹了在antd Table中插入可編輯的單元格實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Vue 打包的靜態(tài)文件不能直接運行的原因及解決辦法

    Vue 打包的靜態(tài)文件不能直接運行的原因及解決辦法

    這篇文章主要介紹了Vue 打包的靜態(tài)文件不能直接運行的原因及解決辦法,幫助大家更好的理解和學習vue框架,感興趣的朋友可以了解下
    2020-11-11
  • Vue保持用戶登錄狀態(tài)(各種token存儲方式)

    Vue保持用戶登錄狀態(tài)(各種token存儲方式)

    本文主要介紹了Vue保持用戶登錄狀態(tài)(各種token存儲方式),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • vue.js 上傳圖片實例代碼

    vue.js 上傳圖片實例代碼

    這篇文章主要介紹了vue.js 上傳圖片實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • vue3中setup語法糖下父子組件間傳遞數(shù)據(jù)的方式

    vue3中setup語法糖下父子組件間傳遞數(shù)據(jù)的方式

    Vue3中父組件指的是包含一個或多個子組件的組件,它們通過props和事件等方式來傳遞數(shù)據(jù)和通信,這篇文章主要介紹了vue3中setup語法糖下父子組件間傳遞數(shù)據(jù)的方式,需要的朋友可以參考下
    2023-06-06
  • Vue組件封裝之input輸入框?qū)崙?zhàn)記錄

    Vue組件封裝之input輸入框?qū)崙?zhàn)記錄

    在vue中會將常用的組件進行封裝,下面這篇文章主要給大家介紹了關(guān)于Vue組件封裝之input輸入框的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • Vue+ElementUi實現(xiàn)點擊表格鏈接頁面跳轉(zhuǎn)和路由效果

    Vue+ElementUi實現(xiàn)點擊表格鏈接頁面跳轉(zhuǎn)和路由效果

    這篇文章主要介紹了Vue+ElementUi實現(xiàn)點擊表格中鏈接進行頁面跳轉(zhuǎn)和路由,本文結(jié)合實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-03-03

最新評論