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 相关文章推荐
js切换div css注意的细节
Dec 10 Javascript
jquery遍历数组与筛选数组的方法
Nov 05 Javascript
window.returnValue使用方法示例介绍
Jul 03 Javascript
Node.js的特点和应用场景介绍
Nov 04 Javascript
微信小程序中用WebStorm使用LESS
Mar 08 Javascript
weex里Vuex state使用storage持久化详解
Sep 09 Javascript
vue进行图片的预加载watch用法实例讲解
Feb 07 Javascript
小程序实现自定义导航栏适配完美版
Apr 02 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
Apr 04 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
Apr 25 Javascript
js实现简单的无缝轮播效果
Sep 05 Javascript
vue祖孙组件之间的数据传递案例
Dec 07 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
PHP编程中的常见漏洞和代码实例
2014/08/06 PHP
php类中的各种拦截器用法分析
2014/11/03 PHP
php获取QQ头像并显示的方法
2014/12/23 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
PHP程序员学习使用Swoole的理由
2018/06/24 PHP
win10下 php安装seaslog扩展的详细步骤
2020/12/04 PHP
js获取height和width的方法说明
2013/01/06 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
今天是星期几的4种JS代码写法
2013/09/17 Javascript
jQuery中delegate和on的用法与区别详细解析
2014/01/26 Javascript
浅谈Javascript数组索引
2015/07/29 Javascript
跟我学习javascript的基本类型和引用类型
2015/11/16 Javascript
基于javascript实现动态显示当前系统时间
2016/01/28 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
2017/08/24 jQuery
使用nvm管理不同版本的node与npm的方法
2017/10/31 Javascript
详解利用Angular实现多团队模块化SPA开发框架
2017/11/27 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
2019/08/14 Javascript
vue实现五子棋游戏
2020/05/28 Javascript
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
Python根据服务获取端口号的方法
2019/09/25 Python
wxPython多个窗口的基本结构
2019/11/19 Python
python实现输入的数据在地图上生成热力图效果
2019/12/06 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
Raffaello Network德国:意大利拉斐尔时尚购物网
2019/05/01 全球购物
.NET笔试题(20个问题)
2016/02/02 面试题
转让协议书范本
2014/04/15 职场文书
报到证办理个人委托书
2014/10/06 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
项目战略合作意向书
2015/05/08 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android