vue之计算属性
计算属性
计算属性:
1。定义:要用的属性不存在,要通过已有属性计算得来。
2。原理:底层借助了Object.defineproperty方法提供的getter和setter
3。get函数什么时候执行?
1。初次读取fullName时,
2所依赖的数据发生变化时。
4。优势:
与methods相比,内部有缓存机制(复用),效率更高,调试方便。
5。备注:
1。计算属性最终会出现在vm上,直接读取使用即可。
2。如果计算属性要被修改,那必须写set函数去响应修改,且set中要引起计算时依赖的数据发生变化
demo:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>插值语法--姓名案例</title>
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<!--
计算属性:
1。定义:要用的属性不存在,要通过已有属性计算得来。
2。原理:底层借助了Object.defineproperty方法提供的getter和setter
3。get函数什么时候执行?
1。初次读取fullName时,
2所依赖的数据发生变化时。
4。优势:
与methods相比,内部有缓存机制(复用),效率更高,调试方便。
5。备注:
1。计算属性最终会出现在vm上,直接读取使用即可。
2。如果计算属性要被修改,那必须写set函数去响应修改,且set中要引起计算时依赖的数据发生变化
-->
<div id="root">
姓:<input type="text" v-model="firstName"><br/>
名:<input type="text" v-model="lstName"><br/>
姓名:<span>{{fullName}}</span>
</div>
</body>
<script type="text/javascript">
Vue.config.productionTip = false;
const vm = new Vue({
el: '#root',
data: {
firstName: '张',
lstName: '三'
},
computed: {
// fullName: {
// //get的作用?当有人读取fullName时,get就会被调用,且返回值就作为fullName的值
// //get什么时候调用?1。初次读取fullName时,2所依赖的数据发生变化时。(这里时因为fullName有数据后,就会被缓存起来)
// get() {
// console.log('get被调用了');
// return this.firstName + '-' + this.lstName;
// },
// set(val) {
// var splice = val.split('-');
// this.firstName = splice[0];
// this.lstName = splice[1];
// }
// }
fullName() {
return this.firstName+'-'+this.lstName;
}
}
})
</script>
</html>
本文来自博客园,作者:King-DA,转载请注明原文链接:https://www.cnblogs.com/qingmuchuanqi48/p/16344433.html