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 相关文章推荐
Jquery Ajax.ashx 高效分页实现代码
Oct 20 Javascript
ionic隐藏tabs的方法
Aug 29 Javascript
纯JavaScript手写图片轮播代码
Oct 20 Javascript
ES6新特性之Object的变化分析
Mar 31 Javascript
angular中ui calendar的一些使用心得(推荐)
Nov 03 Javascript
bootstrap treeview 扩展addNode方法动态添加子节点的方法
Nov 21 Javascript
详解weex默认webpack.config.js改造
Jan 08 Javascript
vue中的数据绑定原理的实现
Jul 02 Javascript
jQuery实现参数自定义的文字跑马灯效果
Aug 15 jQuery
基于JQuery实现页面定时弹出广告
May 08 jQuery
vue实现广告栏上下滚动效果
Nov 26 Vue.js
JS实现简易日历效果
Jan 25 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
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
2016/04/11 PHP
smarty自定义函数用法示例
2016/05/20 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
PHP7新增函数
2021/03/09 PHP
js 提交和设置表单的值
2008/12/19 Javascript
javascript实现滑动解锁功能
2014/12/31 Javascript
jQuery实现的向下图文信息滚动效果
2015/05/03 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
原生js轮播(仿慕课网)
2017/02/15 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
基于node.js实现微信支付退款功能
2017/12/19 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
layui表格设计以及数据初始化详解
2019/10/26 Javascript
解决vue项目获取dom元素宽高总是不准确问题
2020/07/29 Javascript
[56:38]DOTA2-DPC中国联赛正赛Aster vs Magma BO3 第一场 3月5日
2021/03/11 DOTA
Python3搜索及替换文件中文本的方法
2015/05/22 Python
Python设计模式中单例模式的实现及在Tornado中的应用
2016/03/02 Python
详解python string类型 bytes类型 bytearray类型
2017/12/16 Python
Python元组拆包和具名元组解析实例详解
2018/03/26 Python
postman传递当前时间戳实例详解
2019/09/14 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
2020/10/15 Python
利用python查看数组中的所有元素是否相同
2021/01/08 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
党建工作经验交流材料
2014/05/25 职场文书
邀请书格式范文
2015/02/02 职场文书
建筑安全员岗位职责
2015/02/15 职场文书
初中体育课教学反思
2016/02/16 职场文书