Vue路由传参query和params的区别

query使用path和name传参跳转都可以,而params只能使用name传参跳转

传参跳转页面时,query和params不需要在路由上配参数就能在新的页面获取到参数,
但是params不在路由配参数的话,当用户刷新当前页面的时候,参数就会消失。
也就是说使用params不在路由配置参数,只有第一次进入页面参数有效,刷新页面参数就会消失。

query传参

//在方法里面写 也可以用name
this.$router.push({ path:'/search', query: { categoryId: this.categoryId }})

// router-link里面的to
<router-link :to="{path:'/search',query: {categoryId: item.categoryId}}">

接收参数:this.categoryId = this.$route.query.categoryId ;
params传参

//在方法里面写
this.$router.push({ name::'/search', query: { categoryId: this.categoryId }})

// router-link里面的to
<router-link :to="{name::'/search',query: {categoryId: item.categoryId}}">

接收参数:this.categoryId = this.$route.params.categoryId ;

你可能感兴趣的:(vue)