需求:通过计算属性,计算一个人的全名。
基本信息
姓:
名:
全名:{{fullName}}
计算属性同样是传入一个回调函数
>>>这时候有人问,我的全名不应该放在personInfo里面嘛,不应该单独列出来。
答:说的对,接下来我们看一下如何放入personInfo里面,并实现计算。
很简单,直接在personInfo身上追加一个属性fullName即可。因为personInfo是由reactive定义的,所以可以对它身上的属性随便增删改查,而且能确保都是响应式的
注意:上面的计算属性是简写形式(没有考虑计算属性被修改的情况)
使用的时候,改成下面这样就ok了。
>>>问题来了,如果计算属性想被修改怎么办?
就像下面这样,,,
此时我们去修改计算属性,控制台就会出现警告,提示,你这个计算属性是只读的
那么考虑计算属性的读和写的【完整写法】如下:
personInfo.fullName = computed({// 读get(){return personInfo.firstName + '-' + personInfo.lastName},// 写set(value){console.log(value)const name = valuepersonInfo.firstName = name.split('-')[0]personInfo.lastName = name.split('-')[1]}})
此时当我们修改计算属性的值,属性的值也会跟着变化
先看下vue2监听的简写写法及结果
当前求和为:{{sum}}