Vue.js 如何处理vue组件中更改的任何数据?

Vue.js 如何处理vue组件中更改的任何数据?,vue.js,watch,Vue.js,Watch,我知道我可以在vue中“观察”我的数据中的特定属性的更改,但是否可以处理组件数据更改的任何部分 例如,我有: data() { return { myProp: false, myOtherProp: true } } 我可以添加一块手表,如下所示: watch: { "myProp": function(val, oldVal) { // Do something } } 也可以为myOtherProp添加一

我知道我可以在vue中“观察”我的
数据中的特定属性的更改,但是否可以处理组件数据更改的任何部分

例如,我有:

data() {
   return {
     myProp: false,
     myOtherProp: true
   }
}
我可以添加一块手表,如下所示:

 watch: {
    "myProp": function(val, oldVal) {
      // Do something
    }
}
也可以为myOtherProp添加一个,但实际上我有很多属性,如何为所有属性添加一个处理程序

进一步的背景 这里的最终目标是检测“脏”状态,以便确定是否警告用户他们可能会丢失未保存的更改

我试过的
我知道我可能会将数据中的所有属性组合成一种类型,然后观察一下,但目前的改变太具破坏性,风险太大。我很好奇全局处理程序是否仍然可行。

最简单的方法是生成一个
计算的属性,当该属性发生更改时,您可以调用您的函数:

computed: {
    hash () {
      return `${this.myProp}
          |${this.myOtherProp}
   }
},
watch: {
   "hash": function(val, oldVal) {
      // Do something
    }
}

非常聪明!我喜欢。谢谢