computed
在computed中,当有人读取fullName时,get就会被调用,且返回值就是sum的属性值;
get什么时候调用?1、初次读取fullName时;2、所依赖的数据发生变化时,这个地方就是指this.firstName和this.lastName.
set什么时候调用?1、当fullName被修改时。
如:
data:{
firstName:张,
lastName:三
},
computed:{
fullName:{
get(){
return this.firstName + this.lastName;
},
set(value){
let arr = value.split('');
this.firstName = arr[0];
this.lastName = arr[1];
}
}
}
计算属性:
1、定义:要用的属性不存在,要通过已有属性计算得来。
2、原理:底层借助了Object.defineProperty方法提供的getter和setter。
3、get什么时候调用?
(1)初次读取fullName时;
(2)所依赖的数据发生变化时;
4、优势:与methods实现相比,内部有缓存机制,效率更高,调试方便。
5、备注:
(1)计算属性最终会出现在vue实例对象上,直接读取即可;
(2)如果计算属性要被修改,那必须写set函数去相应修改,且set中要引起计算时依赖的数据发生改变;