Vue中route和router的区别是什么?
今天我们来探讨一下Vue 中 $route和$router 两者之间到底有什么区别
我们可以理解区别为: $route 是用来获取路由信息的,$router是用来操作路由的
$route 对象
route是路由信息对象,里面主要包含路由的一些基本信息,包含当前的路径,参数,query对象等。(包括name、meta、path、hash、query、params、fullPath、matched、redirectedFrom)
route object 出现在多个地方:
1.组件内的 this.route和route watcher 回调(监测变化处理);
2.router.match(location) 的返回值
3.scrollBehavior 方法的参数
4.导航钩子的参数:
1 | // to: 要去哪个页面 |
$router对象
$router对象是全局路由的实例,是router构造方法的实例,包含了一些路由的跳转方法,钩子函数等
路由实例方法:
1、push
1 | // 字符串 |
注意:push方法的跳转会向 history 栈添加一个新的记录,当我们点击浏览器的返回按钮时可以看到之前的页面。
2、go
1 | // 页面路由跳转 前进或者后退 |
3、replace
push方法会向 history 栈添加一个新的记录;而replace方法是替换当前的页面
不会向 history 栈添加一个新的记录
1 | // 一般使用replace来做404页面 |
注 : 配置路由时path有时候会加 ‘/‘ 有时候不加,以’/‘开头的会被当作根路径,就不会一直嵌套之前的路径。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 wn244的个人博客!
