计算属性:
-
定义:要用的属性不存在,通过已有的属性计算得来
(已有的属性:必须是在vue内部的) -
原理:底层使用了Object.defineproperty方法提供的getter和setter
-
get函数什么时候执行
(1)初次读取的时候会执行一次
(2)当依赖的数据改变的时候执行一次,并且在此调用
(3)get还会自动的把this的指向改变为vm
-
优势:与methods实现相比,内部有缓存机制(复用),效率更高
-
注意:
(1)计算属性的结果最终出现在vm上,直接使用即可(2)如果计算属性的需要被修改,那么需要使用set方法去改变所依赖属性的值
用法:
-
在vue里面配置全新的一项:computed
-
里面要得到的属性是一个对象【这个对象名可以直接拿来用,不需要对象名.get去获取】
-
对象里面有两个方法get和set
-
倘若没有set方法,可以简写:对象名:{return 值}
<div>
名字:{{full}}
</div>
<script>
new Vue({
el:'div',
data:{
first:'张1234',
last:'三1234'
},
computed:{
full:{
get(){
return this.first.slice(0,3)+"-"+this.last.slice(0,3);
// slice:字符串的截取方法,包含第一个,不包含最后一个,第一个参数为从哪一个开始(0),第二个为多少
}
}
}
</script>