侦听属性watch 、watch与computed的区别

        监视属性watch:

          1、当被监视的属性发生变化时,回调函数自动调用,进行相关操作

          2、监视的属性必须存在,才能进行监视!!

          3、监视的两种写法:

            (1)、new Vue时传入watch配置

             

            (2)、通过vm.$watch监视



深度监视:

          (1)、vue中的watch默认不监测对象内部值的改变(一层)。

          (2)、配置deep:true可以监测对象内部值的改变(多层)。

        备注:

          (1)、vue自身可以监测对象内部值的改变,但vue提供的watch默认不可以!

          (2)、使用watch时根据数据的具体结构,决定是否采用深度监视。



computed和watch之间的区别

          1、computed能完成的功能,wathc都能完成

          2、watch能完成的功能,computed不一定能完成,例如:watch可以进行异步操作

        两个重要额小原则:

          1、所被vue管理的函数,最好写成普通函数,这样this的指向才是vm或组件的实例对象

          2、所有不被vue管理的函数(定时器的回调问题,ajax的回调函数),最好写成箭头函数

          这样thisl的指向才是 vm 或 组件实例对象





 

你可能感兴趣的:(侦听属性watch 、watch与computed的区别)