vue相同路由传不同参数组件刷新和组件接收路由参数问题

用uve和vue-router开发移动页面时,在一个二级路由页面想根据不同的参数展示不同的内容,并且有过渡效果:
在网上搜罗了一下监听路由参数变化然后刷新组件的方式有好多种

  • 1,为相同路由跳转进行中间路由替换(全局守卫进行拦截,这种方法我没试)

  • 2,使用v-if重新渲染当前页面组件,大体在data中设置一个boolean变量,然后定义一个reload方法,在方法中动态改变
    boolean变量的值。需要重新渲染组件的时候只要调用 下reload方法就可以。

  • 3,最简单快速的方法:
    利用vue组件中的key值来强制刷新(可以自行去查官方文档 )

            `<router-view :key="newsId"></router-view>`
    

    监听组件刷新问题结束后,第二个就是滑动时改成路由参数,在滑动方法中增加

    this.$router.push({path:'subNews',query:{newsId: this.newsId}})
    这里就会用到路由中query 和params传参的区别

    首先说明下 $router$route 的区别
    - $router : 是路由操作对象,只写对象
    - $route : 路由信息对象,只读对象

在router-view 组件内部用
console.log(this.$route.query.newsId)

到此问题解决

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值