Vue中,如何watch数组中所有对象的某个属性的变化?

发布于 2022-09-03 15:21:24 字数 553 浏览 14 评论 0

      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值得变化?以便触发下一步操作

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

临走之时 2022-09-10 15:21:24

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

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

监听用 watch选项

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

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

口干舌燥 2022-09-10 15:21:24

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文