Vue中computed是属性调用,以属性访问的形式调用的,{
{computedTest}}
带有缓存功能
computed依赖于data中的数据,只有在它的相关依赖数据发生改变时才会重新求值
- computed用来监控自己定义的变量,该变量不在data里面声明,直接在computed里面定义,然后就可以在页面上进行双向数据绑定展示出结果或者用作其他处理;
- computed比较适合对多个变量或者对象进行处理后返回一个结果值,也就是数多个变量中的某一个值发生了变化则我们监控的这个值也就会发生变化。
使用computed属性控制全选功能与总金额
在computed里面定义,调用时仍然是属性调用
定义一个 checkedCount()方法,用来返回当前选中的条目
当前选中条目与购物车内商品数目相同为true,不同为false
computed:{
checkAllFlag(){
return this.checkedCount === this.cartList.length;//选中的数量和购物车内商品数量相同
},
//当前选中的数量
checkedCount(){
var i =0;
this.cartList.forEach((item)=>{
if(item.checked==='1') i++;
});
return i;
}
}
此时如果依旧按照直接取反,为false
this.checkAllFlag = !this.checkAll