vueはプロパティ値の変化をどのように監視しますか?

vueはプロパティ値の変化をどのように監視しますか?たとえば、データ内のobj.aの変更を監視する必要があります。次のように、Vueのオブジェクトプロパティの変更を監視できます。

watch: {   obj: {
   handler (newValue, oldValue) {
    console.log('obj changed')
   },
   deep: true
  }
 }

ディープ属性はディープトラバーサルを意味しますが、これはobjの属性のすべての変更を監視しますが、これは必要な効果ではないため、いくつか変更を加えます。

watch: {  'obj.a': {
   handler (newName, oldName) {
    console.log('obj.a changed')
   }
  }
 }

計算によって実装できる別の方法があります。

computed: {
  a1(){
  return this.obj.a
  }
}

これは、計算された属性の特性を使用して実現されます。依存関係が変更されると、新しい値が再計算されます。
 

おすすめ

転載: blog.csdn.net/cz_00001/article/details/112846227