Javascript Vue在从Meteor回调获取数据之前选择列表渲染
我正在尝试从meteor调用填充我的事件数组,以便它显示在选择列表中。Meteor函数“get.comming”返回一个JSON对象数组,但我认为选择列表是在填充事件数组之前呈现的 是否有方法重新渲染选择框或仅在填充事件数组后渲染它Javascript Vue在从Meteor回调获取数据之前选择列表渲染,javascript,meteor,callback,vue.js,vuejs2,Javascript,Meteor,Callback,Vue.js,Vuejs2,我正在尝试从meteor调用填充我的事件数组,以便它显示在选择列表中。Meteor函数“get.comming”返回一个JSON对象数组,但我认为选择列表是在填充事件数组之前呈现的 是否有方法重新渲染选择框或仅在填充事件数组后渲染它 <template> <div class="container"> <select v-model='eventId'> <option v-for='event in ev
<template>
<div class="container">
<select v-model='eventId'>
<option v-for='event in events'>{{JSON.stringify(event)}}</option>
</select>
</div>
</template>
<script>
export default {
data() {
return {
eventId: "",
events: [],
}
},
created() {
this.getItems();
},
methods: {
getItems() {
console.log("getting items");
Meteor.call('get.upcoming', function(err, res) {
if (err) {
console.log(err);
} else {
events = res;
console.log(events);
}
})
}
}
}
</script>
<style>
</style>
{{JSON.stringify(事件)}
导出默认值{
数据(){
返回{
事件ID:“”,
事件:[],
}
},
创建(){
这是getItems();
},
方法:{
getItems(){
console.log(“获取项目”);
Meteor.call('get.comming',函数(err,res){
如果(错误){
控制台日志(err);
}否则{
事件=res;
console.log(事件);
}
})
}
}
}
使用this.events=res在Meteor call回调函数中保存对事件的响应
另外,在回调中使用箭头函数,以便它可以通过this
访问Vue实例
getItems() {
console.log('getting items');
Meteor.call('get.upcoming', (err, res) => {
if (err) {
console.log(err);
} else {
this.events = res;
console.log(this.events);
}
})
}
使用this.events=res在Meteor call回调函数中保存对事件的响应
另外,在回调中使用箭头函数,以便它可以通过this
访问Vue实例
getItems() {
console.log('getting items');
Meteor.call('get.upcoming', (err, res) => {
if (err) {
console.log(err);
} else {
this.events = res;
console.log(this.events);
}
})
}
要重新输入选择框,只需设置双向绑定到选择框的数据数组,即可重新输入给定的选择框。加载网页后,Vue模板定义中data()
方法中的所有注册变量都可以作为模板类变量使用,其内容可以选择双向绑定到组件
if(!error)this.events=newEvents
如果您希望仅在从Meteor方法接收JSON对象并将其填充到events数组中之后才显示选择框,那么只需将Vue条件绑定设置为布尔值,以在加载数据后显示HTML DOM元素
返回{
数据(){
返回{
数据加载:false
}
}
asyncMethod(){this.dataLoaded=true;}
};
要重新输入选择框,只需设置双向绑定到选择框的数据数组,即可重新输入给定的选择框。加载网页后,Vue模板定义中data()
方法中的所有注册变量都可以作为模板类变量使用,其内容可以选择双向绑定到组件
if(!error)this.events=newEvents
如果您希望仅在从Meteor方法接收JSON对象并将其填充到events数组中之后才显示选择框,那么只需将Vue条件绑定设置为布尔值,以在加载数据后显示HTML DOM元素
返回{
数据(){
返回{
数据加载:false
}
}
asyncMethod(){this.dataLoaded=true;}
};