Vue——router跳转以及传参方式

跳转的方式

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来指定页面。


版权声明:本文为sugerinaflat原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。