:あなたは
あなたのデータオブジェクト内のすべてのプロパティを見てみたかった場合は、あなたの特性の一部だけ定義されたリストを見たい場合
は、あなたがこの
function doSomething(after, before){
console.log(after,before);
}
function buildWatch(def){
if (!def.watch)
def.watch = {};
for (let prop of Object.keys(def.data))
def.watch[prop] = doSomething;
return def;
}
let vueDefinition = {
data:{
propa: "testing",
propb: "testing2",
propc: "testing3"
}
}
export default buildWatch(vueDefinition)
ような何かを行うことができます
質問を解決する正式な方法はありません(see this)。しかし、あなたはトリックとして計算されたプロパティを使用することができます。
export default {
// ...
computed: {
propertyAAndPropertyB() {
return ${this.propertyA}|`${this.propertyB};
},
},
watch: {
propertyAAndPropertyB(newVal, oldVal) {
const [oldPropertyA, oldProvertyB] = oldVal.split('|');
const [newPropertyA, newProvertyB] = newVal.split('|');
// doSomething
},
},
}
あなただけの何かをしたいとの新しい/古い値何を気にしない場合。 は二行
const [oldPropertyA, oldProvertyB] = oldVal.split('|');
const [newPropertyA, newProvertyB] = newVal.split('|');
を無視してデータをstructured.If使用すると、1つのオブジェクトで見たデータを置くあなたが深いと、その単一のオブジェクトを見ることができているかに依存します:真の財産、そしてあなたをmethod.Also triger全体データオブジェクトを見ることができます私はそれをすることを提案していません。 –
私はここで議論されているような方法はないと思う(https://github.com/vuejs/vue/issues/844)、あなたは[ここ](https://jsfiddle.net)として計算されたプロパティを作成することができます/ kmj6Lsae/3 /)でもそれほどきれいではありません。 – Saurabh