vue router之route和router的区别
1、区别
用一句话来概括这两个区别就是route是用来获取路由信息的,router是用来操作路由的。
2、route
2.1什么是route:
route是一个路由对象(route object)表示当前激活的路由的状态信息,它包含了当前URL解析得到的信息,还有URL匹配的路由记录。
路由对象是不可变的,每次成功的导航后都会产生一个新的对象。
2.2路由属性
1)、path 字符串,对应当前路由的路径,总是解析为绝对路径。
2)、params 一个key/velue对象,包含了动态片段和全匹配片段,如果没有路由参数,就是一个空对象,换句话说就是通过params传递的参数。
3)、query 一个 key/value 对象,表示 URL 查询参数。例如,对于路径 /foo?user=1,则有 $route.query.user == 1,如果没有查询参数,则是个空对象。也包括通过 query
传递的参数。
4)、hash 当前路由的hash值(带#),如果没有hash值,则为空字符串。
5)、fullPath 完成解析后的URL,包含查询参数和hash的完整路径
6)、matched 一个数组,包含当前路由的所有嵌套路径片段的路由记录。路由记录就是 routes 配置数组中的对象副本 (还有在 children 数组)。
7)、name 当前路由的名称,如果有的话。
8)、redirectedFrom 如果存在重定向,即为重定向来源的路由的名字。
9)、meta 路由元信息
3、router
3.1什么是router
router是全局路由的实例,是router构造方法的实例。
3.2路由实例方法
1)、push
字符串router.push(‘home’)
对象router.push({path:‘home’})
2)、go
页面路由跳转 前进或者后退router.go(-1) //后腿
3)、replace
push方法回向history栈添加一个新的记录,而replace方法是替换当前的页面,不会向history栈添加一个新的记录
4)、一般使用replace来做404页面