vue多层嵌套路由实例分析


Posted in Javascript onMarch 19, 2019

本文实例讲述了vue多层嵌套路由。分享给大家供大家参考,具体如下:

多层嵌套:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script src="bower_components/vue/dist/vue.js"></script>
  <script src="bower_components/vue-router/dist/vue-router.js"></script>
  <style>
    .v-link-active{
      font-size: 20px;
      color: #f60;
    }
  </style>
</head>
<body>
  <div id="box">
    <ul>
      <li>
        <a v-link="{path:'/home'}">主页</a>
      </li>
      <li>
        <a v-link="{path:'/news'}">新闻</a>
      </li>
    </ul>
    <div>
      <router-view></router-view>
    </div>
  </div>
  <template id="home">
    <h3>我是主页</h3>
    <div>
      <a v-link="{path:'/home/login'}">登录</a>
      <a v-link="{path:'/home/reg'}">注册</a>
    </div>
    <div>
      <router-view></router-view>
    </div>
  </template>
  <template id="news">
    <h3>我是新闻</h3>
  </template>
  <script>
    //1. 准备一个根组件
    var App=Vue.extend();
    //2. Home News组件都准备
    var Home=Vue.extend({
      template:'#home'
    });
    var News=Vue.extend({
      template:'#news'
    });
    //3. 准备路由
    var router=new VueRouter();
    //4. 关联
    router.map({
      'home':{
        component:Home,
        subRoutes:{
          'login':{
            component:{
              template:'<strong>我是登录信息</strong>'
            }
          },
          'reg':{
            component:{
              template:'<strong>我是注册信息</strong>'
            }
          }
        }
      },
      'news':{
        component:News
      }
    });
    //5. 启动路由
    router.start(App,'#box');
    //6. 跳转
    router.redirect({
      '/':'home'
    });
  </script>
</body>
</html>

效果图:

vue多层嵌套路由实例分析

路由其他信息:

/detail/:id/age/:age
{{$route.params | json}}    ->  当前参数
{{$route.path}}    ->  当前路径
{{$route.query | json}}    ->  数据

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script src="bower_components/vue/dist/vue.js"></script>
  <script src="bower_components/vue-router/dist/vue-router.js"></script>
  <style>
    .v-link-active{
      font-size: 20px;
      color: #f60;
    }
  </style>
</head>
<body>
  <div id="box">
    <ul>
      <li>
        <a v-link="{path:'/home'}">主页</a>
      </li>
      <li>
        <a v-link="{path:'/news'}">新闻</a>
      </li>
    </ul>
    <div>
      <router-view></router-view>
    </div>
  </div>
  <template id="home">
    <h3>我是主页</h3>
    <div>
      <a v-link="{path:'/home/login/zns'}">登录</a>
      <a v-link="{path:'/home/reg/strive'}">注册</a>
    </div>
    <div>
      <router-view></router-view>
    </div>
  </template>
  <template id="news">
    <h3>我是新闻</h3>
    <div>
      <a v-link="{path:'/news/detail/001'}">新闻001</a>
      <a v-link="{path:'/news/detail/002'}">新闻002</a>
    </div>
    <router-view></router-view>
  </template>
  <template id="detail">
    {{$route.params | json}}
    <br>
    {{$route.path}}
    <br>
    {{$route.query | json}}
  </template>
  <script>
    //1. 准备一个根组件
    var App=Vue.extend();
    //2. Home News组件都准备
    var Home=Vue.extend({
      template:'#home'
    });
    var News=Vue.extend({
      template:'#news'
    });
    var Detail=Vue.extend({
      template:'#detail'
    });
    //3. 准备路由
    var router=new VueRouter();
    //4. 关联
    router.map({
      'home':{
        component:Home,
        subRoutes:{
          'login/:name':{
            component:{
              template:'<strong>我是登录信息 {{$route.params | json}}</strong>'
            }
          },
          'reg':{
            component:{
              template:'<strong>我是注册信息</strong>'
            }
          }
        }
      },
      'news':{
        component:News,
        subRoutes:{
          '/detail/:id':{
            component:Detail
          }
        }
      }
    });
    //5. 启动路由
    router.start(App,'#box');
    //6. 跳转
    router.redirect({
      '/':'home'
    });
  </script>
</body>
</html>

效果图:

vue多层嵌套路由实例分析

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
Extjs学习笔记之三 extjs form更多的表单项
Jan 07 Javascript
javascript new fun的执行过程
Aug 05 Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
Jul 16 Javascript
angularjs实现与服务器交互分享
Jun 24 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
Aug 11 Javascript
JS异步文件上传(兼容IE8+)
Apr 02 Javascript
addeventlistener监听scroll跟touch(实例讲解)
Aug 04 Javascript
Javascript中的作用域及块级作用域
Dec 08 Javascript
vue-star评星组件开发实例
Mar 01 Javascript
微信小程序实现卡片左右滑动效果的示例代码
May 01 Javascript
JS实现继承的几种常用方式示例
Jun 22 Javascript
原生js实现放大镜组件
Jan 22 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
Mar 19 #Javascript
vue项目移动端实现ip输入框问题
Mar 19 #Javascript
详解使用React.memo()来优化函数组件的性能
Mar 19 #Javascript
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
Mar 19 #Javascript
express.js中间件说明详解
Mar 19 #Javascript
js array数组对象操作方法汇总
Mar 18 #Javascript
浅析JavaScript异步代码优化
Mar 18 #Javascript
You might like
MySQL连接数超过限制的解决方法
2011/07/17 PHP
PHP获取数组中某元素的位置及array_keys函数应用
2013/01/29 PHP
linux命令之调试工具strace的深入分析
2013/06/03 PHP
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
PHPCMS忘记后台密码的解决办法
2016/10/30 PHP
[JS]点出统计器
2020/10/11 Javascript
html数组字符串拼接的最快方法
2009/09/16 Javascript
JS获取当前网页大小以及屏幕分辨率等
2014/09/05 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
2016/01/26 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
2016/06/06 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
AngularJS路由切换实现方法分析
2017/03/17 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
Vue中的$set的使用实例代码
2018/10/08 Javascript
[02:49]2018DOTA2亚洲邀请赛主赛事决赛日战况回顾 Mineski鏖战5局夺得辉耀
2018/04/10 DOTA
介绍Python中几个常用的类方法
2015/04/08 Python
Pthon批量处理将pdb文件生成dssp文件
2015/06/21 Python
Python根据文件名批量转移图片的方法
2018/10/21 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
Python将主机名转换为IP地址的方法
2019/08/14 Python
在python中logger setlevel没有生效的解决
2020/02/21 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
Python基于正则表达式实现计算器功能
2020/07/13 Python
高级运动鞋:GREATS
2019/07/19 全球购物
const和static readonly区别
2013/05/20 面试题
药剂专业学生求职信范文
2013/12/28 职场文书
素质拓展感言
2014/01/29 职场文书
企业宣传口号
2014/06/12 职场文书
司机工作自我鉴定
2014/09/19 职场文书
投标邀请书范本
2015/02/02 职场文书
如何写辞职书
2015/02/26 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
Python合并多张图片成PDF
2021/06/09 Python
python多次执行绘制条形图
2022/04/20 Python