渲染对象我有一个jsonArray,在我的模板组件具有V-像:变化值和V-的Vuejs
<div v-for="obj in data.objects" :key="obj.id">
<strong>Quota:</strong>
<span>{{obj.quota}}</span>
</div>
而且我在我的组件的功能应该改变obj的价值。配额点击按钮后,如:
refreshValue: function(element){
this.data.objects.forEach((e, i) => {
if (e.id == element.id) {
this.data.objects[i].quota = e.fractionNuminator /e.fractionDenominator;
}
});
}
但问题是对象不刷新,而不是渲染对象的新的价值。
我错了什么?我应该如何改变v-for的价值?
谢谢!
使用时总是''加key' V-for' –
OK谢谢你们的提醒 – LorenzoBerti
这是因为由于JS是如何实现的,VueJS不能观看动态更改数组中的元素。改为在循环的每次迭代中使用'Vue.set':https://vuejs.org/v2/guide/list.html#Caveats – Terry