我在'beforeCreate'生命週期中進行AJAX調用,並用接收到的數據更新數據變量。我可以用這種方式插入數據。但是,條件,事件處理,綁定在此上下文中不起作用。AJAX調用後條件,事件處理,綁定不起作用
var app = new Vue({
el: '#app',
data: {
items: [],
isVisible: []
},
beforeCreate: function() {
var vm = this;
// make ajax call
// on done
.done(function(res) {
// do some validation
vm.items = res.itemList;
for (var i = 0; i < vm.items.length; i++) {
vm.isVisible.push(false) // initialize to false
}
})
}
)}
在我想要做這樣的事情在html:
<div v-for="(item, index) in items">
<img :src="item.imgURL1" v-if="isVisible[index]">
<img :src="item.imgURL2" v-else>
<button @click="isVisible[index] = !isVisible[index]>Toggle</button>
</div>
我如何能實現這樣的事情有什麼建議?
其實我有你的建議v-setup。當我提出代碼示例時,忘了寫它。這並不能解決問題。 – Grant
@Grant仍然在使用'isVisible [i]'not'isVisible [index]'?你遇到的任何錯誤?是「物品」填充正確,你可以像HTML這樣'{{items}}'得到它? – Saurabh
是的,我能夠填充項目數組中的值沒有問題。 – Grant