计算属性与全选

computed:废话不说直接上代码


imageimage


let vm = new Vue({
        el:'#app',
        data(){
            return{
                aFruits:[
                    {name:'苹果',checked:false},
                    {name:'香蕉',checked:false},
                    {name:'西瓜',checked:false},
                    {name:'山竹',checked:false},
                    {name:'樱桃',checked:false}
                ]
            }
        },
        computed:{
            all:{
                get(){
                    return this.aFruits.every(item => item.checked)
                },

                // 唯一参数是改变后的值newVal
                set(newVal){
                    this.aFruits.forEach(item => item.checked=newVal)
                }
            }
        }
    })




  • 总结

  • 改变计算属性的值需要做的事:
  • 通过newVal改变aFruits数组的数据,间接改变自身 => 从false到true再到false
  • 点击时all值已经改变,aFruits数组值未改变,所以要在值改变后改变aFruits数组



posted @ 2021-06-03 16:40  源大大123  阅读(67)  评论(0)    收藏  举报