Vue 计算属性
定义:根据data中的已有属性计算得到一个新的属性
原理:根据defineProperty方法提供的getter和setter
优点: 对比methods, 优点在于有缓存,可以复用。
特点:
计算属性中的get函数调用时机:
- 初次读取改属性
- 该属性的依赖属性变化时
vm中有data、computed中的属性
vm._data只有data中的数据,没有computed中的数据
computed中的数据是把data中的数据经过计算设置到vm对象中去的
set函数不能直接修改计算属性,只能通过修改依赖属性的方式来进行
demo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<script src="../lib/vue.js"></script>
<body>
<div id="root">
<input type="text" v-model="firstName"> <br>
<input type="text" v-model="lastName"> <br>
<span>{{fullName}}</span>
</div>
<script>
const vm = new Vue({
el:"#root",
data:{
firstName:'island',
lastName:'l'
},
computed:{
// fullName:{
// get(){
// return this.firstName + '-' + this.lastName
// }
// }
// 简写形式,直接写函数,当做get用
fullName:function(){
return this.firstName + '-' + this.lastName
}
}
})
</script>
</body>
</html>