监测路由传参的变化

问题描述:

封装一个A组件,B页面中调用A组件,除了B组件还有C页面等多个页面进行调用,A组件中点击之后跳转并传参到B页面,那么当B页面中的A组件点击时,B的路由传参确实发生了变化,但是B页面并没有自动刷新,需要手动刷新才行。

解决办法:B页面进行路由监听,当路由的传参发生变化时,那么调用一下页面的初始函数,具体代码如下:

 B页面中:
watch: {
    '$route'(to, from) {
      if (to.query.lesson_id !== from.query.lesson_id) {
        this.params.lesson_id = to.query.lesson_id
        this.getnewLessonDetail()
      }
    }
  }
A组件中: 
 goCourse(item) {
      this.$router.push({
        path: '/details/referral',             //A页面
        query: {
          lesson_id: item.lesson_id
        }
      })
    }                

 

posted @ 2020-11-19 19:44  沁猿春  阅读(241)  评论(0)    收藏  举报