关于vue.js:父组件传递给子组件的对象在父组件中改变子组件未更新

目前的解决办法是,在子组件中给传递的props 属性减少watch 监听办法
1.在父组件中

<!-- 媒体附加信息 -->
            <media-extra-info 
            ref="mediaExtraInfoRef"
            :mediaEnName="mediaInfo.en_name"
            :maroList="maroList"
            :editExtraInfo="initMediaExtraInfo"
            @handleChildMediaChange="handleChildMediaChange"
            />

2.在子组件中给父组件传来的值减少监听

//2-1通过props 定义承受的父组件传值
 props: {
      mediaEnName:{
        type: String,
        default: "" 
     },
     maroList{
       type: Array,
       default(){
          return []
       }
     },
      editExtraInfo: { //编辑时的信息
        type: Object,
        default(){
          return {}
        }
      }  
    },
 //2-2  给传值editExtraInfo减少监听, 有扭转则执行handler 办法
 watch:{
      editExtraInfo: {
        handler(newData, oldData) {
          this.init()
        },
        deep: true  //深度监听
      },
    },

有没有不加watch 的办法, 待有工夫钻研, 或晓得的同学请留言

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理