第四节 computed和watch

2020-05-28  本文已影响0人  darkTi

一、computed

二、watch

  1. 当监听的数据发生变化而做出的动作;
  2. 数据怎么才算发生变化呢?
//watch的语法
new Vue({
      watch:{
              a: function(newValue,oldValue){},   //但是绝对不要写成  a:  ()=>{}
              a(newValue,oldValue){},  //这样写跟上面那种写法是一样的啊 es6的语法啊
              b: [f1,f2] , //支持里面接受两个函数,不能用箭头函数啊!这两个函数会在b变化的时候依次执行
              c: 'methodName',  // methods里面的方法
              d:{ handler: fn, deep: true, immediate: true},
              'obj.a': function(){}
       }
}).$mount('#app')

//watch还有另外一种写法,但一般不用这种
vm.$watch('a',function(){},{deep: true, immediate: true})

三、computed和watch的区别

1、 computed是计算属性;watch是监听的意思;
2、 解释computed:①computed是用来计算出一个值得,在使用的时候可以像属性一样直接用,不需要加括号;②它根据依赖会自动缓存,依赖的数据没有发生变化的话,那么它就不会再重新计算;
3、 解释watch:①watch是用来监听数据的变化,从而做出相应的动作;②它有两个属性,immediate表示在第一次渲染时是否执行这个函数,watch默认在第一次渲染时是不执行的;deep表示在监听一个对象时,是否要看它里面属性的变化;

如果有一种情况,computed和watch都可以用,那么优先选择使用computed

上一篇 下一篇

猜你喜欢

热点阅读