Vue.js在数组

时间:2017-01-08 10:17:27

标签: javascript vue.js

我有一个像这样的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”属性中的一个,我想设置一个观察者,只要其中一个属性发生变化就会发出警告。

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

1 个答案:

答案 0 :(得分:3)

您可以使用深度监视,但是......它无法轻松确定哪个项目已更改。

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

    },
    deep: true
  }
}
...

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

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