javascript - Vue中,如何watch数组中所有对象的某个属性的变化?
怪我咯
怪我咯 2017-04-11 12:49:05
[JavaScript讨论组]
      items: [
        {
          id: 336,
          title: '智利三文鱼扒500g酸甜口味爆炒',
          img: '../assets/images/test/8-1.jpg',
          count: 1,
          price1: 106,
          price2: 80
        },
        {
          id: 337,
          title: '西班牙三文鱼扒500g酸甜口味爆炒',
          img: '../assets/images/test/8-1.jpg',
          count: 2,
          price1: 225,
          price2: 152
        }
      ]

如上代码,我要求count的和,当任意count的值产生变化是,就要更新count的和,请问如何监听所有count的值得变化呢?


感谢大神们的回答,不过我的问题是如何监听所有count值得变化?以便触发下一步操作

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
迷茫

用计算属性,返回值是这个列表值相加

computed: {
    countTotal: function () {
        let total = 0;
        this.items.forEach(function (item) {
            total += item.count
        })
        return total
    }
}

监听用 watch选项

watch: {
    items: {
        handler: function () {},
        deep: true
    }
}

对象要深复制,默认是浅复制

阿神

监听(或按照楼上的计算属性)这整个数组变量,再遍历相加试试

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号