跳转的方式
Vue因为由vue-router的关系,提供了页面携带参数跳转的方式
1、提供 <router-link> 元素,点击直接跳转
<router-link
:to="{ path: 'path', query: { key: '扁扁的糖是扁的' } }"
>
跳转页面
</router-link>
2、提供 this.$router.push 方法跳转
this.$router.push({
name: 'name',
params: { key: '扁扁的糖是扁的' }
})
传参方式
1、query 传递参数会拼接在路由后面,出现在地址栏,刷新页面不丢失
<router-link
:to="{ path: 'path', query: { key: '扁扁的糖是扁的' } }"
>
跳转页面
</router-link>
this.$router.push({
path: 'path',
query: { key: '扁扁的糖是扁的' }
})
这里的 path 取路由中所配置的 path 字段
使用 query 传参的方式,参数会拼接在路由后面,出现在地址栏,并且刷新页面不丢失
取值方式:
this.$route.query.key
2、params 参数不会拼接在路由后面,地址栏上看不到参数
<router-link
:to="{ name: 'name', params: { key: '扁扁的糖是扁的' } }"
>
跳转页面
</router-link>
this.$router.push({
name: 'name',
params: { key: '扁扁的糖是扁的' }
})
这里的 name 取路由中所配置的 name 字段
使用 params 传参的方式,参数不会拼接在路由后面,不会出现在地址栏,但是刷新页面会丢失
取值方式:
this.$route.params.key
注意
由于动态路由也是传递?params?的,所以在 this.$router.push() 方法中 path不能和params一起使用,否则params无效。需要用name来指定页面。
|