一、html页面中如何使用

1、引入 vue-router.js

2、安装插件

Vue.use(VueRouter)

3、创建路由对象

  var router = new VueRouter({

    // 4、配置路由

    routes:[{

      path:'/login',

      component:Login  //跳转到Login组件,所以先创建Login组件

    }]

  })

创建Login组件

var Login = {template:'<div>我是登陆页面</div>'}

5、将配置好的路由关联到vue实例中

new Vue({

  el:'',

  components:{

    'app':App

  },

  router:router//将上面步骤中创建的router对象引入进来,不引入报undifined 对象取不到mached错误

})

6、指定路由改变局部的位置

var  App={

  template:'

    <div>

      <router-view></router-view>  //留坑,待目标地址内容填充

    </div>

  '

}

二、路由内置组件router-link

用法 <rouoter-link to='/login'>登陆去</router-link>

如果路由规则中添加name属性,例如 {name:'login',path:'/login',component:Login}

则router-link可以通过名称找对象,获取path,用法   <rouoter-link :to="{name:'login'}">登陆去</router-link>

三、router参数获取

方式一 query方式

<rouoter-link to='/login' query={id:1}>登陆去</router-link>

路由配置路径为 (即路由规则) {name:'login',path:'/login',component:Login}

获取this.$route.query.id

生成的浏览器路径为 login?id=1

方式二 params方式

<rouoter-link to='/login' params={id:1}>登陆去</router-link>

路由配置路径也就是路由规则为  {name:'login',path:'/login/:id',component:Login}

获取方式this.$route.params.id

生成的浏览器路径为 login/id

两种方式相比较,params的方式需要在路由规则也就是路径中配置。

四、$router 与 $route的区别

两者都是vue-router的内置对象,$route是路由信息对象,只读对象。 $router是路由操作对象,只写对象。

五、嵌套路由

多个组件,按照不同锚点值部分,嵌入不同的坑。

即<router-view></router-view>中包含<router-view></router-view>

例子:将上面的Login组件使用router-view留坑

var Login = {template:'<div><router-view></router-view></div>'} 则对应的路由规则配置children属性,变为如下格式:

{name:'login',path:'/login',component:Login,children:[{name:'test',path:'/test',component:ChildrenCom}]}  //path可以写成/test也可以只写test,只是浏览器展示路径不同而已

路由其他介绍:

1、路由meta元数据

meta是对于路由规则是否需要验证权限的配置。 meta属性于name同级  meta:{ischecked:true}

2、路由钩子

权限控制的函数执行时期。路由匹配后,渲染到router-view之前,用法 router.beforeEach(function(to,from,next){})  //最后next()代表同行,不调用会卡住 next(false)代表取消导航  next({name:''})重定向

3、路由规则除了在上述new VueRouter是指定routers,还可以对象动态添加路由。 router.addRoutes([........])

4、路由规则可以配置重定向路径

{name:'login',path:'/login',redirect:{name:''}}

5、其他

a、跳到指定锚点  this.$router.push()

b、根据历史记录前进或者后退

this.$router.go(-1|1)

1代表前进  -1后退

注意:一个视图使用一个组件渲染,多个视图需要多个组件,所以需要在路由规则的component改完components

例如

<router-view ></router-view>

<router-view name='a'></router-view>

<router-view name='b'></router-view>

规则配置应该为:

{name:'shouye',path:'/',components:{default:Header,a:Body,b:Footer}}

:git上有开发的项目作为例子,有兴趣的可以下载学习。源代码已上传git:Git地址,也可以扫码加入QQ交流群

                                                                                

vue教程(五)--路由router介绍的更多相关文章

  1. vue教程3-01 路由、组件、bower包管理器使用

    vue教程3-01 路由.组件.包管理器 以下操作前提是 已经安装好node.js npm bower-> (前端)包管理器 下载: npm install bower -g 验证: bower ...

  2. vue工程化与路由router

    一.介绍     vue.js 是 目前 最火的前端框架,vue.js 兼具 angular.js 和 react.js 的优点,并剔除它们的缺点.并且提供了很多的周边配套工具 如vue-router ...

  3. vue初级学习--路由router的编写(resolve的使用)

    一.导语 最近在用vue仿写淘宝的商品详情页面以及加入购物车页面,若是成功了,分享给大家~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 二.正文 我先用控制台创建了vue项目demo(如 ...

  4. vue教程3-05 vue组件数据传递、父子组件数据获取,slot,router路由

    vue教程3-05 vue组件数据传递 一.vue默认情况下,子组件也没法访问父组件数据 <!DOCTYPE html> <html lang="en"> ...

  5. vue项目创建步骤 和 路由router知识点

    菜单快捷导航: vue项目创建 vue路由router知识点(路径参数.查询参数.命名路由.嵌套路由.命名视图.hash/history模式) 1.创建一个vue项目步骤 (windows环境下).创 ...

  6. Vue学习笔记-Vue.js-2.X 学习(七)===>脚手架Vue-CLI(路由Router)

    脚手架Vue-CLI(路由Router) 一 按装(通过新创建脚手架按装),如果在原来的脚手架上按装直接进图型化界面vue ui的插件按装. 二 使用(上面按装下面步骤自动会生成) 第一步:导入路由对 ...

  7. react router @4 和 vue路由 详解(六)vue怎么通过路由传参?

    完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 8.vue怎么通过路由传参? a.通配符传参数 //在定义路由的时候 { path: ' ...

  8. react router @4 和 vue路由 详解(四)vue如何在路由里面定义一个子路由

    完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 6.vue如何在路由里面定义一个子路由? 给父路由加一个 children:[] 参考我 ...

  9. vue教程3-06 vue路由嵌套(多层路由),路由其他信息

    多层嵌套: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

随机推荐

  1. 国人Web前端开发必备干货,一个完美支持IE6在内所有浏览器的CSS框架

    摘要: 企户动CSS框架是一个能够完美支持IE6~7在内的所有浏览器的 HTML&CSS 前端框架!给Web开发提供了自适应宽度的百分比多列网格,以及已语义化和结构化的标题.段落.列表.表格. ...

  2. linux程序机制入门

    GCC环境 类debian系统运行 apt-get install build-essential 安装gcc环境. 编写c语言程序后,运行 gcc ./hello.c 会得到一个名为 a.out 的 ...

  3. SYN2306型 北斗串口时间服务器

    SYN2306型  北斗串口时间服务器  北斗授时设备北斗时钟同步系统使用说明视频链接: http://www.syn029.com/h-pd-108-0_310_36_-1.html 请将此链接复制 ...

  4. hive表批处理

    对hive中的表进行批量处理,如下是一个简单的脚本 #给定一个hive数据库名,生成它的所有表的create SQL语句,并导出到文件 create_fun(){ hive -e } #显示一个表中所 ...

  5. ZooKeeper学习第七期--ZooKeeper一致性原理(转)

    转载来源:https://www.cnblogs.com/sunddenly/p/4138580.html 一.ZooKeeper 的实现 1.1 ZooKeeper处理单点故障 我们知道可以通过Zo ...

  6. 从零开始实现放置游戏(七)——实现挂机战斗(5)RMS系统后台参数校验

    前面几章实现了在RMS系统中进行数据的增删查改以及通过Excel批量导入.但仍有遗留的问题,比如在新增或编辑时,怪物的生命值.护甲等数据我们可以输入负值,这种数据是不合理且没有意义的.本章我们就实现服 ...

  7. Spring Boot:整合JdbcTemplate

    综合概述 Spring对数据库的操作在jdbc上面做了更深层次的封装,而JdbcTemplate便是Spring提供的一个操作数据库的便捷工具.我们可以借助JdbcTemplate来执行所有数据库操作 ...

  8. 小程序请求接口统一封装到一个js文件中

    在我们做小程序时,数据请求数据请求是避免不了的,然而我们用官方自带的请求方式,会给我们带来很多重复的工作,所以我就借鉴大神们的博客,写了一个简单的请求方式. 1.首先我们在utils中新建一个api. ...

  9. MySQL优化(一)

    MySQL数据库优化一之引索详解 对于网站优化最注重的就是数据库的优化,而在数据库优化中首先考虑到的应该是数据库索引是否建立于是否建立的正确. 1.对于刚刚接触数据库的程序员,对于引索不是很理解.下面 ...

  10. leetcode笔记 动态规划在字符串匹配中的应用

    目录 leetcode笔记 动态规划在字符串匹配中的应用 0 参考文献 1. [10. Regular Expression Matching] 1.1 题目 1.2 思路 && 解题 ...