有没有办法在应用程序中的变量发生变化时触发 Vue.js 函数?

var vm = new Vue({
  el: '#demo',
  data: {
    variable1: 'Foo',
    variable2: 'Bar',
    .....
    .....
    variablen: 'Foo Bar'
  },
  watch: {
    <<any variable>>: function(){
      console.log('any of these variables changed');
    }
  }
})

最佳答案

首先,我同意所有评论说 50 个字段听起来像代码异味并且该代码可能需要重构。

除此之外,vue 允许您使用 data object watch 监视整个 $data 并将其显式设置为 deep

  watch: {
    '$data': {
      handler: function(newValue) {
        console.log('Current vaules:' + newValue.FirstName + ' ' + newValue.LastName);
      },
      deep: true
    }
  }

请参阅此工作 fiddle 和此 watch documentation 摘录



警告

正如@BelminBedak 所说,此示例仅说明可以存档但不建议用于生产环境。

关于javascript - 每当 Vue.js 中的任何变量发生更改时触发监视函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42141611/

10-12 07:32
查看更多