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 相关文章推荐
jQuery - css() 方法示例详解
Jan 16 Javascript
js判断文本框剩余可输入字数的方法
Feb 04 Javascript
浅谈javascript原型链与继承
Jul 13 Javascript
javascript验证内容为数字以及长度为10的简单实例
Aug 20 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
Aug 27 Javascript
JavaScript实现数组降维详解
Jan 05 Javascript
微信小程序 基础知识css样式media标签
Feb 15 Javascript
javascript数据结构中栈的应用之符号平衡问题
Apr 11 Javascript
vue.js国际化 vue-i18n插件的使用详解
Jul 07 Javascript
解决angularjs中同步执行http请求的方法
Aug 13 Javascript
vue中子组件传递数据给父组件的讲解
Jan 27 Javascript
JS使用setInterval计时器实现挑战10秒
Nov 08 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面向对象程序设计之接口用法
2014/08/20 PHP
php实现递归抓取网页类实例
2015/04/03 PHP
Java中final关键字详解
2015/08/10 PHP
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
JS动态调用方法名示例介绍
2013/12/18 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
javascript产生随机数方法汇总
2016/01/25 Javascript
js输出数据精确到小数点后n位代码
2016/07/02 Javascript
JavaScript中函数声明与函数表达式的区别详解
2016/08/18 Javascript
bootstrap下拉列表与输入框组结合的样式调整
2016/10/08 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
Vue 父子组件、组件间通信
2017/03/08 Javascript
JSONP基础知识详解
2017/03/19 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
解决pycharm运行出错,代码正确结果不显示的问题
2018/11/30 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
基于Python函数和变量名解析
2019/07/19 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
HTML5实现视频弹幕功能
2019/08/09 HTML / CSS
利用Node实现HTML5离线存储的方法
2020/10/16 HTML / CSS
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
中间件的定义
2016/08/09 面试题
中国好声音广告词
2014/03/18 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
2015年度员工自我评价范文
2015/03/11 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
安全教育日主题班会
2015/08/13 职场文书
「地球外少年少女」BD发售宣传CM公开
2022/03/21 日漫