vue的计算属性理解及与watch的区别

2019-06-19  本文已影响0人  鱼蛋杰

计算属性:computed

在一个计算函数里可以完成各种复杂的逻辑,包括运算、函数调用等;

如:computed:{

        reversedText:function(){

                return this.text.split(',').revetse().join(',');

        }

}

可以直接在<div>{{reversedText}}</div>调用;

依赖于text更新。text发生改变reversedText才发生改变;

虽然在methods里写一个方法也可以起到同样的作用;

但是计算属性是基于它的依赖缓存的;依赖不变计算属性就不会发生改变会缓存下拉;

就是说同一个界面多个地方调用了这个reversedText;如果text不是效应式依赖;

reversedText是写methods中的方法,那么只要重新渲染,调用方法函数就会执行;重新计算;

reversedText是计算属性那么就不需要重新计算;

说说计算属性的setter 和 getter;

get 是用于读取

set是用于写入触发;

比如你在一个方法中触发了这个计算属性,给它赋值,那么就会触发set里面的方法;

然后watch监听的是你定义的变量,当你定义的变量的值发生变化时,调用对应的方法。

watch:{

    text:function () {

      this.msg="dajiahao"

    }

}

text发生改变 调用相应的方法

上一篇下一篇

猜你喜欢

热点阅读