2021-11-23 params和query传递参数的区别

$router$route的区别

$router是路由操作对象,只写对象(参数的传送)
$route是路由信息对象,只写对象(参数的接收)

Vue中params和query传递参数的写法

params:

//路由跳转
this.$router.push({
  name:'test',
  params:{
    name:'one',
    value:'1'
  }
})

//router-link的写法:
<router-link :to="{ name: 'test', params: { name:'one',value:'1' } }">

//参数接收
this.name=this.$route.params.name;
this.value=this.$route.params.value;

query:

//路由跳转
this.$router.push({
  path:'test',
  query:{
    name:'two',
    value:'2'
  }
})

//router-link的写法:
<router-link :to="{ path: '/test', query: { name:'two',value:'2' } }">

//参数接收
this.name=this.$route.query.name;
this.value=this.$route.query.value;

注意事项

  • 传参的话params和query这两种方式都可以使用
  • 如果使用params传参的话,只能使用name来引入路由
  • params是路由的一部分,必须要在路由后面添加参数名(如以上例子就加上动态路由:/:name/:value),否则一刷新网页就会失去拿到的参数

内容未完待补充...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容