我想了解如何正確觀察一些支柱變化。 我有一個從ajax調用接收數據的父組件(.vue文件),將數據放入一個對象中,並通過v-for指令呈現某個子組件,在我的實現簡化下面:Vue.js - 如何正確觀察嵌套屬性
<template>
<div>
<player v-for="(item, key, index) in players"
:item="item"
:index="index"
:key="key"">
</player>
</div>
</template>
...然後裏面的 「腳本」 標籤:
data(){
return {
players: {}
},
created(){
let self = this;
this.$http.get('../serv/config/player.php').then((response) => {
let pls = response.body;
for (let p in pls) {
self.$set(self.players, p, pls[p]);
}
});
}
項目的對象是這樣的:現在
item:{
prop: value,
someOtherProp: {
nestedProp: nestedValue,
myArray: [{type: "a", num: 1},{type: "b" num: 6} ...]
},
}
,我的孩子裏面的 「玩家」 COMPONE NT我試圖觀看任何項目的屬性變化,我用:
...
watch:{
'item.someOtherProp'(newVal){
//to work with changes in "myArray"
},
'item.prop'(newVal){
//to work with changes in prop
}
}
它的工作原理,但它似乎有點棘手給我,我想知道,這是做正確的方式。我的目標是執行某些操作時都「託」的變化或myArray的獲取新的元素或者將現有的 任何建議將appriciated
只要使用 ' 「item.someOtherProp」:功能(的newval,OLDVAL){'如@Ron建議。 – Reiner
@Reiner這正是他想要避免的問題;使用ES5語法也是一樣的。實際上在觀看計算時沒有任何額外的開銷,並且在各種情況下這是一種有用的技術。 –