vue中缺少reactions?

mobx中有reactions,这个东西,当多个属性中任何一个或多个发生变化时候,执行一个函数。感觉vue中只有用computed来模拟这个概念,必须有个返回值。用watch的话,一次只能监视一个属性的变化,监视多个要写多次,非常不方便。vue中有没有好的办法?

阅读 1.8k
4 个回答

clipboard.png

$watch 可以接受函数啊。。。

beforeUpdate 生命周期嘛,
数据更新后,渲染之前会触发。

你可以把这多个属性放到一个对象里,使用watch的深度监听:

// 监听对象
obj = {
  a: '',
  b: ''
  ...    
}
// 监听
watch: {
  obj: {
    handler (value) {
      // 执行某函数
    },
    deep: true
  }
}

watch深度监听,楼上有人给出答案了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题