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 相关文章推荐
IE浏览器兼容Firefox的JS脚本的代码
Oct 23 Javascript
javascript ready和load事件的区别示例介绍
Aug 30 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
Jun 15 Javascript
简介JavaScript中的push()方法的使用
Jun 09 Javascript
javascript设计简单的秒表计时器
Sep 05 Javascript
关于cookie的初识和运用(js和jq)
Apr 07 Javascript
js只执行1次的函数示例
Jul 20 Javascript
AngularJS读取JSON及XML文件的方法示例
May 25 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
Jul 21 Javascript
JS基于ES6新特性async await进行异步处理操作示例
Feb 02 Javascript
关于微信小程序map组件z-index的层级问题分析
Jul 09 Javascript
js基于canvas实现时钟组件
Feb 07 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
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
jquery不支持toggle()高(新)版本的问题解决
2016/09/24 PHP
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
Javascript 函数parseInt()转换时出现bug问题
2014/05/20 Javascript
在HTML代码中使用JavaScript代码的例子
2014/10/16 Javascript
Javascript中的方法链(Method Chaining)介绍
2015/03/15 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
2016/01/22 Javascript
JavaScript html5 canvas绘制时钟效果(二)
2016/03/27 Javascript
浅析如何利用JavaScript进行语音识别
2016/10/27 Javascript
node.js平台下的mysql数据库配置及连接
2017/03/31 Javascript
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
jQuery实现上传图片前预览效果功能
2017/08/03 jQuery
基于jquery的on和click的区别详解
2018/01/15 jQuery
vuejs中监听窗口关闭和窗口刷新事件的方法
2018/09/21 Javascript
JS复杂判断的更优雅写法代码详解
2018/11/07 Javascript
vue实现公共方法抽离
2020/07/31 Javascript
Python入门篇之字符串
2014/10/17 Python
快速了解Python相对导入
2018/01/12 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
Python实现求解括号匹配问题的方法
2018/04/17 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
Tensorflow训练模型越来越慢的2种解决方案
2020/02/07 Python
python tqdm库的使用
2020/11/30 Python
python 使用OpenCV进行简单的人像分割与合成
2021/02/02 Python
python爬虫利用代理池更换IP的方法步骤
2021/02/21 Python
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
Omio俄罗斯:一次搜索公共汽车、火车和飞机的机票
2018/11/17 全球购物
党员岗位承诺口号大全
2014/03/28 职场文书
产品质量承诺范本
2014/03/31 职场文书
飞机制造技术专业求职信
2014/07/27 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
2015年中职班主任工作总结
2015/05/25 职场文书
正确的理解和使用Django信号(Signals)
2021/04/14 Python