vue.js でselectの生成、selectの値をajaxで取ってくる版
ajaxについてはvue.jsではaxiosというのが推奨されている、とのことです。
なんでとりえあず、html側にaxios追加。
<script src="https://unpkg.com/axios/dist/axios.min.js"></script> <div id="app"> <select v-model="category"> <option value="">--選択してください--</option> <option v-for="option in catOptions" v-bind:value="option.value"> {{ option.text }} </option> </select> <span>first Selected: {{ category }}</span> </div>
んで、jsの方はこんな感じになるのかな。
var app = new Vue({
el: '#app',
data: {
category: '',
catOptions: []
},
created: function() {
var catOptions = this.catOptions;
axios.get('category.php').then(function(response) {
for (var i = 0; i < response.data.length; i++) {
catOptions.push(response.data[i]);
}
}).catch(function(error) {
console.log('failure');
})
}
});