Vue $ watch对象数组

时间:2019-06-03 08:51:15

标签: vue.js vue-component vuex

我是Vue的新手。我们正在将代码从dojo迁移到Vue。我试图将监视添加到对象数组。我必须添加监视的数据是一个对象数组,而对象又可以具有数组。

样本数据:

    ‘ItemList’: [
    {
    ‘item’: {
    ‘term’: ‘1’,
    ‘timing’:‘A’
    ‘steps’: [{}], ( Array )
    ‘parameter’: [{}] ( Array)
    …
    …

    almost 600 values
    }
    },
    {
    ‘item’: {
    ‘term’: ‘2’,
    ‘timing’:‘B’
    ‘steps’: [{}],
    ‘parameter’: [{}]

    ....
    ....

    almost 600 values
    }
    }
    ]

在旧的dojo中,代码如下:

    for (c = 0; c < itemList.length; c++) {
       item=itemList[c];
       var itemWatch = item.watch(function(name,oldVal,newVal) {
       }
    }

//Here the name gives what value of array is changed . I need that for future 
//logic. we can add  watch on each item.

    computed:{
      clonedItems: function(){
                         return JSON.parse(JSON.stringify(this.itemList));
                      }     
                },
                 watch:{

                    clonedItems:{
                              deep: true,
                              handler: function (val, oldVal) {

这是我尝试的工作正常的方法,但是要知道更改此值将是繁重的计算。此数组可以包含100个项目,每个项目都有600个项目,而我们也有数组。

请指导什么是实现与我们相似功能的最佳方法。

0 个答案:

没有答案