1. $router
是VueRouter的一个对象,通过Vue.use(VueRouter)和Vue构造函数得到的一个router的实例对象,这个对象是一个全局的对象,它包含了所有的路由,包含了许多关键的对象和属性。
配置路由时path有时候会加 ‘/’ 有时候不加,以’/'开头的会被当作根路径,就不会一直嵌套之前的路径。
//比如当前路径是home
path:'name' //==>path为/home/name
path:'/name' //==>path为/name
- $router.push():跳转到不同的url,但这个方法会向history栈添加一个记录,点击后退会回到上一个页面。
- $router.replace():跳转到指定的url,但是这个方法不会向history里面添加新的记录,点击返回,会跳转到上上一个界面。上一个记录是不存在的。
- $router.go(n):相对于当前页面向前或向后跳转多少个页面,类似 window.history.go(n)。n可为正数可为负数。负数返回上一个记录路由,正数返回下一个记录路由
- $router.back():返回上一个url
2.$route
是一个由跳转的路由对象,每一个都会有一个$route对象,是一个局部的对象,可以获取对应的name、path、params、query等。
这两者不同的结构可以看出两者的区别,他们的一些属性是不同的。
- $route.fullPath 完成解析后的 URL,包含查询参数和 hash 的完整路径。
- $route.hash 当前路由的hash值(不带#),如果没有hash值,则为空字符串。
- $route.matchd 数组,包含当前匹配的路径中所包含的所有片段所对象的配置参数对象
- $route.meta 路由元信息
- $route.name 当前路由的名字,如果没有使用具体路径,则名字为空
- $route.params 对象,含路有种的动态片段和全匹配片段的键值对,不会拼接到路由的url后面
- $route.path 字符串,等于当前路由对象的路径,会被解析为绝对路径,如/home/ews
- $route.query 对象,包含路由中查询参数的键值对。会拼接到路由url后面
- $route.router 路由规则所属的路由器