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

32次阅读

共计 566 个字符,预计需要花费 2 分钟才能阅读完成。

目前的解决办法是,在子组件中给传递的 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 的办法,待有工夫钻研,或晓得的同学请留言

正文完
 0