首頁  >  文章  >  web前端  >  詳解vue路由嵌套的SPA實作步驟

詳解vue路由嵌套的SPA實作步驟

小云云
小云云原創
2017-12-26 14:10:531880瀏覽

本文恩主要為大家詳細介紹了vue路由嵌套的SPA實現步驟,具有一定的參考價值,有興趣的小夥伴們可以參考一下,希望能幫助到大家。

本文為大家分享了路由嵌套的SPA實現的步驟:

A(/a)元件需要嵌套B元件(/b)和C元件(/c)

①準備嵌套其它組價的父元件指定一個容器

在A元件指定一個容器
975b587bf85a482ea10b0a28848e78a4

②在A元件的路由配置物件中指定children屬性

#{
path:'/a',
component: A,
children:[
{path:'/b',component:B},
{path:'/c',component:C},
]
}

補充:

//數字如果超出記錄的次數,是不行的。
this.$router.go(num);
如果num是正數,往前進
如果num是負數,則向後退

程式碼


<!doctype html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>路由嵌套</title>
  <script src="js/vue.js"></script>
  <script src="js/vue-router.js"></script>
 </head>
 <body>
 <p id="container">
    <p>{{msg}}</p>
    <router-view></router-view>
  </p>
  <script>
//登录组件
    var myLogin = Vue.component("login",{
      template:`
        <p>
          <h1>登录组件</h1>
          <router-link to="/mail">登录</router-link>
        </p>
    `
    })
//  邮箱页面
    var myMail = Vue.component("mail",{
//    定义一个返回的方法
      methods:{
        goBack:function(){
          this.$router.go(-1);
        }
      },
      template:`
        <p>
          <h1>邮箱主页面</h1>
          <ul>
            <li>
              <router-link to="/inbox">收件箱</router-link>
            </li>
            <li>
              <router-link to="/outbox">发件箱</router-link>
            </li>
          </ul>
//        点击按钮返回前面的页面
          <button @click="goBack">返回</button>
          <router-view></router-view>
        </p>
    `
//  指定一个容器,加载收件箱或收件箱的列表
    })
//  收件箱组件
    var myInBox = Vue.component("inbox-component",{
      template:`
        <p>
          <h4>收件箱</h4>
          <ul>
            <li>未读邮件1</li>
            <li>未读邮件2</li>
            <li>未读邮件3</li>
          </ul>
        </p>
    `
    })
//  发件箱组件
    var myOutBox = Vue.component("outbox-component",{
      template:`
        <p>
          <h4>发件箱</h4>
          <ul>
            <li>已发送邮件1</li>
            <li>已发送邮件2</li>
            <li>已发送邮件3</li>
          </ul>
        </p>
    `
    })
    //配置路由词典
    new Vue({
      router:new VueRouter({
        routes:[
          {path:&#39;&#39;,redirect:&#39;/login&#39;},
          {path:&#39;/login&#39;,component:myLogin},
          {path:&#39;/mail&#39;,component:myMail,children:[
            {path:&#39;/inbox&#39;,component:myInBox},
            {path:&#39;/outbox&#39;,component:myOutBox}
        ]},
        ]
      }),
      el:"#container",
      data:{
        msg:"Hello VueJs"
      }
    })
    //通过再次指定一个<router-view></router-view>和children:[]
  </script>
 </body>
</html>

相關推薦:

#實例詳解vue中SPA單一頁面應用程式

總結Vue路由跳轉問題的實例教學

Vue路由鉤子及應用場景的實例詳解

#

以上是詳解vue路由嵌套的SPA實作步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn