如何将Vue js观察者绑定到对象数组

时间:2019-06-03 09:35:42

标签: vue.js vuejs2

我有一个包含许多这样的对象的数组:

  

[{{x:updateX},{y:updateY}]

通过使用此数组,我想像这样自动生成Vue js观察者:

bool fNeedFileInfo = true

我只知道vue将观察者保留为数组。

2 个答案:

答案 0 :(得分:1)

您可以创建一个数组,并从中返回类似以下的函数列表:

data(){ return {
  watcherArray: [];
}
}
methods: {
   pushToWatchersArray() {
      this.watcherArray.push(someValue);
    }
    returnNewWatchers(){
       return { this.watchersArray.map(watcher => return `${watcher}(){ 
       this.updatewatcher()}
    }
watch: {
    [...this.returnNewWatchers()]
 } 

更改观察者时,您可能还需要重新渲染组件,对此我不确定,此外,您可能还需要一个单独的观察者来监视阵列上的更改才能执行此重新渲染。

答案 1 :(得分:1)

您可以为此使用深度监视程序

watch: {
  arr: {
     handler(val){
       // do stuff
     },
     deep: true
  }
}