vue路由嵌套的SPA实现步骤


Posted in Javascript onNovember 06, 2017

本文为大家分享了路由嵌套的SPA实现的步骤:

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

①准备嵌套其它组价的父组件 指定一个容器

在A组件指定一个容器
<router-view></router-ivew>

②在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>
 <div id="container">
    <p>{{msg}}</p>
    <router-view></router-view>
  </div>
  <script>
//登录组件
    var myLogin = Vue.component("login",{
      template:`
        <div>
          <h1>登录组件</h1>
          <router-link to="/mail">登录</router-link>
        </div>
    `
    })
//  邮箱页面
    var myMail = Vue.component("mail",{
//    定义一个返回的方法
      methods:{
        goBack:function(){
          this.$router.go(-1);
        }
      },
      template:`
        <div>
          <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>
        </div>
    `
//  指定一个容器,加载收件箱或收件箱的列表
    })
//  收件箱组件
    var myInBox = Vue.component("inbox-component",{
      template:`
        <div>
          <h4>收件箱</h4>
          <ul>
            <li>未读邮件1</li>
            <li>未读邮件2</li>
            <li>未读邮件3</li>
          </ul>
        </div>
    `
    })
//  发件箱组件
    var myOutBox = Vue.component("outbox-component",{
      template:`
        <div>
          <h4>发件箱</h4>
          <ul>
            <li>已发送邮件1</li>
            <li>已发送邮件2</li>
            <li>已发送邮件3</li>
          </ul>
        </div>
    `
    })
    //配置路由词典
    new Vue({
      router:new VueRouter({
        routes:[
          {path:'',redirect:'/login'},
          {path:'/login',component:myLogin},
          {path:'/mail',component:myMail,children:[
            {path:'/inbox',component:myInBox},
            {path:'/outbox',component:myOutBox}
        ]},
        ]
      }),
      el:"#container",
      data:{
        msg:"Hello VueJs"
      }
    })
    //通过再次指定一个<router-view></router-view>和children:[]
  </script>
 </body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
DOM和XMLHttpRequest对象的属性和方法整理
Jan 04 Javascript
javascipt基础内容--需要注意的细节
Apr 10 Javascript
js实现弹窗插件功能实例代码分享
Dec 12 Javascript
jquery 构造函数在表单提交过程中修改数据
May 25 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
Jun 03 Javascript
AngularJS实现表单手动验证和表单自动验证
Dec 09 Javascript
jquery Deferred 快速解决异步回调的问题
Apr 05 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
May 25 Javascript
详解JavaScript的内置对象
Dec 07 Javascript
jQuery实现的分页功能示例
Jan 22 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
Mar 06 Javascript
JS中多层次排序算法的实现代码
Jan 06 Javascript
vue综合组件间的通信详解
Nov 06 #Javascript
Angular 4中如何显示内容的CSS样式示例代码
Nov 06 #Javascript
详解基于vue-cli优化的webpack配置
Nov 06 #Javascript
解决option标签selected=&quot;selected&quot;属性失效的问题
Nov 06 #Javascript
js中apply与call简单用法详解
Nov 06 #Javascript
js实现简单数字变动效果
Nov 06 #Javascript
利用百度地图API获取当前位置信息的实例
Nov 06 #Javascript
You might like
三国漫画《火凤燎原》宣布动画化PV放出 预计2020年播出
2020/03/08 国漫
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
5款Javascript颜色选择器
2009/10/25 Javascript
node+express+ejs制作简单页面上手指南
2014/11/26 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
jQuery快速实现商品数量加减的方法
2017/02/06 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
js传递数组参数到后台controller的方法
2018/03/29 Javascript
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
vue如何使用rem适配
2021/02/06 Vue.js
详解Python3中的Sequence type的使用
2015/08/01 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
2018/03/31 Python
python抽取指定url页面的title方法
2018/05/11 Python
python实现学员管理系统
2019/02/26 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
基于keras 模型、结构、权重保存的实现
2020/01/24 Python
Python日志syslog使用原理详解
2020/02/18 Python
解决django FileFIELD的编码问题
2020/03/30 Python
浅析Python 多行匹配模式
2020/07/24 Python
Pycharm自动添加文件头注释和函数注释参数的方法
2020/10/23 Python
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
高级3D打印市场:Gambody
2019/12/26 全球购物
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
Bandier官网:奢侈、时尚前卫的健身服装首选目的地
2020/07/05 全球购物
大学毕业生的自我鉴定
2013/11/30 职场文书
银行职员工作失误检讨书
2014/10/14 职场文书
2014年银行客户经理工作总结
2014/11/12 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
2015年校医个人工作总结
2015/07/24 职场文书
Java Dubbo框架知识点梳理
2021/06/26 Java/Android
centos8安装nginx1.9.1的详细过程
2021/08/02 Servers
javascript代码简写的几种常用方式汇总
2021/08/23 Javascript