编程式 路由
this.$router.push()
是编程式路由,一般写在 点击按钮 事件中
<router-link :to="...">` 是声明式路由,等同于调用 `router.push()
使用
url
router.push()
url可以是 字符串、json对象:
-
字符串:
this.$router.push('/home/first')
-
对象
this.$router.push({ path: '/home/first' })
-
命名的路由
router.push({ name: 'user'})
传参 和 获取参数
params参数:
params
参数 不会在地址栏显示,同 http post 请求
this.$router.push({ name: 'user', params: { userId: 123 }})
获取参数:
this.$route.params.userId}
注意: 接收参数的时候是 route
而不是 router
query参数
query
参数会 在地址栏显示,形式:url?key=value
,同 http get 请求
this.$router.push({path: '/order', query: {userId: "2"}});
url 变成 /order?selected=2
获取参数
this.$route.query.userId}