我有一个像这样的vue对象:

var vm = new Vue({
            el: '#app',
            data: {
                items: [],
                index: 0
            },

            });

在项目内部数组中,我将推送项目,例如:
item1 = {
    a: 1,
    b: 'type',
    c: '3.556'
}
...
itemN = {
    a: n,
    b: 'type',
    c: '5.226'
}

那么我将更新该商品的“c”属性之一,并且我想设置一个观察者,只要该属性之一发生变化,便会警告我。

编辑:我也想知道女巫项目已更改

最佳答案

您可以使用深度监视,但是...它不能提供轻松的方法来确定已更改的项目。

...
watch: {
  items: {
    handler: function (val, oldVal) {

    },
    deep: true
  }
}
...

this answer中提到了一种可能的解决方法,
该解决方案背后的想法是将每个项目包装在组件中并监听组件中的事件。

您还可以存储克隆的项目数组并在监视处理程序中更新该克隆,您可以使用该克隆来过滤已更改的项目。

关于javascript - Vue.js观看数组内的嵌套属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41531602/

10-16 23:24