我是Vue.js的新手,我试图创建一个没有成功的简单组件,它包含一个selectList,我试图填充它的选项数据来模拟Ajax请求,这是我的代码:Vue.js在渲染组件之前填充数据
HTML
<div id="app">
<my-select></my-select>
</div>
<template id="my-template">
<div>
<select v-model="team">
<option v-for="n in teams" v-bind:value="n.id">
{{n.name}}
</option>
</select>
<p>Selected Team: {{team}}</p>
</div>
</template>
JS
Vue.component("my-select", {
template: "#my-template",
mounted: function() {
this.getTeams().then(function(data) {
this.teams = data;
});
},
data: function() {
return {
team: 0,
teams: []
}
},
methods: {
getTeams: function() {
var d = $.Deferred();
setTimeout(function() {
var teams = [
{id: 1, name: "Real Madrid"},
{id: 2, name: "Bayern München"}
];
d.resolve(teams);
}, 2000);
return d.promise();
}
}
});
new Vue({
el: "#app"
});
我的小提琴:https://jsfiddle.net/3ypk60xz/2/
我很感谢任何帮助
工作过,谢谢@craig_h! =) – mmuniz