我在'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