vue中的检测不到对象变化

vue父组件传一个对象给子组件,子组件中把他赋值给另一个对象,父组件中的对象改变,页面内容不更新;
还有计算属性检测的到对象的变化吗

这是子组件中的,info是父组件传过来的,把值赋给了infos,

            <div>
                <span>客户编号</span>
                <span v-if="!revise">{{info.guestNo}}</span>
                <input type="text"  v-if="revise" v-model="infos.guestNo"/>
            </div>
            

这是父组件中的另一个值allLists

            for(let i in this.allLists){
                if(this.allLists[i].id == id){
                    this.info = this.allLists[i]
                }
            }
阅读 5.5k
2 个回答

有些情况下,Vue确实检测不到变化,这个时候需要使用

Vue.$set 来更新数据。

可以在子组件使用watch属性深度观察新旧值的变化,注意携带参数:deep:true

watch:{
       'sas':{
            handler(curVal,oldVal){
                  console.log(oldVal)
                  },
            deep:true
            }
      }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏