先来看看我写这个功能的报错
这啥意思,英语很差,看不懂。没事我有百度翻译,有请我的翻译
有这么一道题,实现单选、全选的功能(购物车单选,全选),思路就是点击全选,上面的都高亮,再点全灭。上面的单选全亮,下面的额全选按钮也得高亮
答题时,我使用的是计算属性做的,发现全选反选时上面的每个商品不亮,最后也还是没做出来,于是晚上回头又在看这个问题,发现他报一个错,说是没有setter,然后我就上网了解到,计算属性有俩个回调函数get和set
get():当需要读取当前属性值时调用,根据相关的数据计算并返回当前属性的值(取值时调用)
set():监视当前属性值发生改变时调用,更新相关的属性值(重新赋值时调用)
正如我下面写的,如果你想修改这个allStatus全选的话,就得使用computed里边的set()方法,这个v是get()返回出去的值,可以用这个值进行set()设置allStatus全选
computed:{
allStatus:{
//得到
get(){
return this.list.every((it,idx)=>it.status)
},
//设置
set(v){
console.log(v);
this.list.forEach((it=>it.status = v))
}
}
},