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 相关文章推荐
javascript 最常用的10个自定义函数[推荐]
Dec 26 Javascript
基于jQuery判断两个元素是否有重叠部分的代码
Jul 25 Javascript
js调用iframe实现打印页面内容的方法
Mar 04 Javascript
给js文件传参数(详解)
Jul 13 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
Jan 26 Javascript
javascript模拟评分控件实现方法
May 13 Javascript
js实现下拉列表选中某个值的方法(3种方法)
Dec 17 Javascript
Angular ng-repeat 对象和数组遍历实例
Sep 14 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
Sep 28 Javascript
element上传组件循环引用及简单时间倒计时的实现
Oct 01 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
Jan 09 Javascript
解决vue的过渡动画无法正常实现问题
Oct 31 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
了解Joomla 这款来自国外的php网站管理系统
2010/03/11 PHP
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
php版微信公众账号第三方管理工具开发简明教程
2016/09/23 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
浅谈php使用curl模拟多线程发送请求
2019/03/08 PHP
JS解析XML的实现代码
2009/11/12 Javascript
js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
2011/10/31 Javascript
jquery实现弹出窗口效果的实例代码
2013/11/28 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
再谈Jquery Ajax方法传递到action(补充)
2014/05/12 Javascript
javascript 自定义回调函数示例代码
2014/09/26 Javascript
jQuery实现跨域
2015/02/03 Javascript
JavaScript获取客户端IP的方法(新方法)
2016/03/11 Javascript
javascript 中null和undefined区分和比较
2017/04/19 Javascript
Node.js+ES6+dropload.js实现移动端下拉加载实例
2017/06/01 Javascript
vue2.x 父组件监听子组件事件并传回信息的方法
2017/07/17 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
vue项目国际化vue-i18n的安装使用教程
2018/03/14 Javascript
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
基于vue实现一个神奇的动态按钮效果
2019/05/15 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
使用Python实现一个简单的项目监控
2015/03/31 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
pytorch实现Tensor变量之间的转换
2020/02/17 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
2015年社区计生工作总结
2015/04/21 职场文书
单方投资意向书
2015/05/11 职场文书
毕业论文致谢词
2015/05/14 职场文书
幼儿园2016圣诞节活动总结
2016/03/31 职场文书
python 实现定时任务的四种方式
2021/04/01 Python
element多个表单校验的实现
2021/05/27 Javascript
如何通过简单的代码描述Angular父组件、子组件传值
2022/04/07 Javascript