编程式导航
概念
- 所谓编程式导航是指通过
调用 API
实现导航(路由)跳转, - 之前使用的
router-link
称为声明式导航 - 通过
this.$router.push
可以实现编程式导航 this.$router.push()
的参数:- 可以是一个字符串路径
- 也可以是描述地址的对象
- 同样的规则也适用于
router-link
组件的to
属性 router-link
本质上也是通过$router.push
来实现的(内部调用了push方法)
细节:
- 如果提供了
path
,params
会被忽略,这个时候要使用query
path路径
跟query查询字符串
name别名
没有限制query
,params
属性都能带参数- 如果有参数,需要提供路由的
name
或手写完整的带有参数的path
编程式导航(go)的使用方式
调用 this.$router.go()
方法,可以在浏览历史中进行前进和后退
调用this.$router.back()
也能实现后退的功能,相当于this.$router.go(-1)