computed VS watch

自己的理解:

  • computed用来监控自己定义的变量,该变量不在data里面声明,直接在computed里面定义,然后就可以在页面上进行双向数据绑定展示出结果或者用作其他处理;
  • computed比较适合对多个变量或者对象进行处理后返回一个结果值,也就是数多个变量中的某一个值发生了变化则我们监控的这个值也就会发生变化,
  • computed属性,是一个计算属性,该属性里面的方法名相当于data属性里面的key,他可以作为key值使用,该属性里面的方法必须要有return返回值,这个返回值就是(value值)。computed属性是有依赖缓存的。for-example:

     

     

     

    与watch之间的区别:

    • watch主要用于监控vue实例的变化,它监控的变量当然必须在data里面声明才可以,它可以监控一个变量,也可以是一个对象:
    • watch:{
        a:function(val,oldVal){},  // 正常使用
        b:'functionName',          // 方法名
        c:{                        // 需要监控对象属性变化的情况
          handler: function (val, oldVal) { /* ... */ },
          deep: true,
          immediate: true          // 该回调将会在侦听开始之后被立即调用
        },
        d:[                        //  你可以传入回调数组,它们会被逐一调用
          'handle1',
          function handle2 (val, oldVal) { /* ... */ },
          {
            handler: function handle3 (val, oldVal) { /* ... */ },
            /* ... */
          }
        ],                          // 监听对象单一属性
        'e.f'function (val, oldVal) { /* ... */ }
        //  watcher 函数不能用箭头
      }


     
posted @ 2021-02-25 14:45  lyprecords  阅读(75)  评论(0)    收藏  举报