Vue JS观察者不工作

Joh*_*Doe 2 vue.js vuejs2

我现在正在开发一个组件,它有一个名为项目的道具,我需要注意更改.到目前为止我有一个这样的手表:

watch:{
   item(newVal, oldVal) { // watch it
     console.log('Prop changed: ', newVal, ' | was: ', oldVal)
   }
}
Run Code Online (Sandbox Code Playgroud)

该项目获得带有新时间戳的按钮单击的更新.在Vue dev工具中,我可以看到prop正在使用值进行更新,但是观察者无法正常工作,我甚至没有收到日志消息.

小智 6

正如@Bert所说,如果item是一个对象,其中一个变化是它的道具,那么你的观察者就不会被触发.

你能试一试吗:

watch:{
   item:{
      handler: function(newVal, oldVal) { // watch it
        console.log('Prop changed: ', newVal, ' | was: ', oldVal)
      },
      deep: true
   }
}
Run Code Online (Sandbox Code Playgroud)