VUE 页面跳转和传参

页面跳转和传参

路由跳转

  • 声明式
<router-link to=""></router-link>
  • 函数式
this.$router.push({ path:'',query:{} })
this.$router.push({ name:'',params:{} })
  • query相当于GET请求,⻚⾯跳转的时候,可以在地址栏看到请求参数
  • params相当于POST请求,参数不会在地址栏中显示

路由传参

  • 声明式
<router-link :to="{path:'/dem3',query:{id:2}}"></router-link>
<router-link :to="{name:'shop',params:{cityId:4}}"></router-link>
// 接收
$route.query.id
$route.params.cityId
  • 函数式
    $ router 和 $ route的区别
    $router : 是路由操作对象,只写对象
    $route : 路由信息对象,只读对象
// 传参
// 通过query传参
this.$router.push({ 
      path:'/search',
      query:{ name:'word' }
 })
 // 通过params传参
 this.$router.push({ 
      name:'hello',
      params:{ age:'11' }
 })
// 接收
this.$route.query.name
this.$route.params.age

路由跳转方式name 、 path 和传参方式params 、query的区别

path 和 name路由跳转⽅式,都可以⽤query传参

  • 使⽤path⽅式跳转路由 path会忽略params 所以path不能和params⼀起使⽤
  • 推荐使⽤name和query⽅式实现路由跳转

params传参,push⾥⾯只能是 name:‘xxx’,不能是path:‘/xxx’,因为params只能⽤name来引⼊路由,如果这⾥写成了path,接收参数⻚⾯会是undefined!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值