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 相关文章推荐
form表单中去掉默认的enter键提交并绑定js方法实现代码
Apr 01 Javascript
jquery复选框checkbox实现删除前判断
Apr 20 Javascript
HTML页面登录时的JS验证方法
May 28 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
Dec 18 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
Aug 24 Javascript
Vue方法与事件处理器详解
Dec 01 Javascript
微信小程序 支付后台java实现实例
May 09 Javascript
Node.js pipe实现源码解析
Aug 12 Javascript
JS实现提交表单前的数字及邮箱校检功能
Nov 13 Javascript
uniapp与webview之间的相互传值的实现
Jun 29 Javascript
vscode中Vue别名路径提示的实现
Jul 31 Javascript
Vue的过滤器你真了解吗
Feb 24 Vue.js
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的bbs设计(二)
2006/10/09 PHP
php四种基础算法代码实例
2013/10/29 PHP
php实现指定字符串中查找子字符串的方法
2015/03/17 PHP
PHP使用递归算法无限遍历数组示例
2017/01/13 PHP
巧用局部变量提升javascript性能
2014/02/24 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
Vue.js系列之项目搭建(1)
2017/01/03 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
2017/05/13 NodeJs
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
node文件批量重命名的方法示例
2017/10/23 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
详解vue 路由跳转四种方式 (带参数)
2019/04/28 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
2019/12/25 Javascript
jQuery事件模型默认行为执行顺序及trigger()与 triggerHandler()比较实例分析
2020/04/30 jQuery
Python解析json文件相关知识学习
2016/03/01 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
2018/04/18 Python
python 获取键盘输入,同时有超时的功能示例
2018/11/13 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
python实现贪吃蛇游戏
2020/03/21 Python
详解python中的生成器、迭代器、闭包、装饰器
2019/08/22 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
python反扒机制的5种解决方法
2021/02/06 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
易程科技软件测试笔试
2013/03/24 面试题
班级聚会策划书
2014/01/16 职场文书
留学推荐信怎么写
2015/03/26 职场文书
班主任工作总结范文
2015/08/13 职场文书
使用javascript解析二维码的三种方式
2021/11/11 Javascript
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js