详解Vue中观察对象内属性的方法

  

vue提供了看方法,用于监听实例内数据数据的变化。通常写法是:

        新Vue ({   数据:{   数:10   博客:{   标题:“我的博客”,   类别:[]   }   },   看:{   数:函数(newval oldVal) {   控制台。日志(“新:% s,老:% s, newVal, oldVal);   }   }   })   之前      

上述情况里数据中属的计数性可以直接监听,但是如果需要监听的数据是对象内的某一属性值的变化,直接看对象博客是检测不到变化的,这是因为博客这个对象的指向并没有发生改变。有几个解决方法

  

1。深度监测
  

        新Vue ({   数据:{   数:10   博客:{   标题:“我的博客”,   类别:[]   }   },   看:{   博客:{   处理程序(newVal oldVal) {   控制台。日志(“新:$ {newVal},老:$ {oldVal}’);   },   深:真   }   }   })   之前      

里面深的设为了真的,这样的话,如果修改了这个博客中的任何一个属性,都会执行处理程序这个方法。不过这样会造成更多的性能开销,尤其是对象里面属性过多,结构嵌套过深的时候,而且有时候我们就只想关心这个对象中的某个特定属性,这个时候可以这样

  

2。用字符串来表示对象的属性调用
  

        新Vue ({   数据:{   数:10   博客:{   标题:“我的博客”,   类别:[]   }   },   看:{   的博客。类别”(newVal oldVal) {   控制台。日志(“新:$ {newVal},老:$ {oldVal}’);   },   }   })   之前      

3。使用计算计算属性
  

        新Vue ({   数据:{   数:10   博客:{   标题:“我的博客”,   类别:[]   }   },   计算:{   类别(){   返回this.blog.categories;   }   },   看:{   类别(newVal oldVal) {   控制台。日志(“新:$ {newVal},老:$ {oldVal}’);   },   },   })   之前      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

详解Vue中观察对象内属性的方法