this. r o u t e r 与 t h i s . router与this. router与this.route的区别
-
this.$router:
表示全局路由对象,项目中通过 router 路由参数注入路由之后,在任何一个页面都可以通过此方法获取到路由器对象,并调用其 push(), go() 等方法;这个 router 实例主要包含了一些全局的钩子函数,以及路由规则,进行路由切换等 api。
-
this.$route:
表示当前正在用于跳转的路由对象,可以调用其name、path、query、params等方法;
路由对象总共包含以下几个属性:
(1)$route.path
类型为字符串,为当前路由的绝对路径,如 /list/1。
(2)$route.params
类型为对象。包含路由中动态片段和全匹配片段的键值对。如上述例子中的 /list/:page 路径,就可以通过 this.$route.params.page 的方式来获取路径上 page 的值。
(3)$route.query
类型为对象。包含路由中查询参数的键值对。例如 /list/1?sort=createTime,通过 this.$route.query.sort 即可得到 createTime。
(4)$route.router
即路由实例,可以调用其 go,replace 方法进行跳转。在组件实例中也可以直接调用 this.$router 来访问路由实例。
(5)$route.matched
类型为数组。包含当前匹配的路径中所有片段对应的配置参数对象。
(6)$route.name
类型为字符串,即为当前路由设置的 name 属性。