源码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>姓名案例_计算属性实现</title>
<!-- 引入Vue -->
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<!-- 准备好一个容器-->
<div id="root">
姓:<input type="text" v-model="firstName"> <br/><br/>
名:<input type="text" v-model="lastName"> <br/><br/>
<!-- 注意:当fullName简写的时候,此处调用依旧按属性名调用。-->
全名:<span>{{fullName}}</span> <br/><br/>
</div>
</body>
<script type="text/javascript">
Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。
const vm = new Vue({
el:'#root',
data:{
firstName:'张',
lastName:'三',
},
computed:{
//计算属性的读写完整写法:
/* fullName:{
get(){
console.log('get被调用了')
return this.firstName + '-' + this.lastName
},
set(value){
console.log('set',value)
const arr = value.split('-')
this.firstName = arr[0]
this.lastName = arr[1]
}
} */
//计算属性的简写(适用条件:确定 只读,不修改):
// 直接把属性名写为函数。在模板调用的时候,不能使用 fullName(),而是依旧按属性调用。
fullName(){
console.log('小猪佩奇说: fullName计算属性的get()函数被调用了')
return this.firstName + '-' + this.lastName
}
}
})
</script>
</html>