Я изучаю Vue JS, и у меня есть вопрос.Я пытаюсь инициализировать массив (listProductType) с запросом на бэкэнд перед открытием страницы (я использую Promise) для использования с ComboBox.Переменная инициализируется и отображается в консоли, но ComboBox пуст.
Пожалуйста, помогите решить проблему и исправить код.
HTML:
<div id="sendForm">
<div class="productTypeBlock">
<p><b>Product type</b></p>
<input id="idProductType" v-model="nameOfProductType" placeholder="Product type">
<button id="sendProductType" @click="getAlert">Сохранить</button>
</div>
<div class="productCategoryBlock">
<p><b>Product Category</b></p>
<select>
<option selected="selected" disabled>Product Category</option>
<option v-for='index in listProductType'>{{index.id}} / {{index.name}}</option>
</select>
</div>
</div>
main.js
var vm = new Vue({
el: "#sendForm",
data:{
nameOfProductType: "",
listProductType: []
},
beforeCreate:() => {
new Promise((resolve, _) => {
axios
.get('http://localhost/admin/getListProductType')
.then(response => {
resolve(this.listProductType = response.data);
console.log(listProductType);
});
})
},
methods:{
getAlert(){
var productType = {
name: this.nameOfProductType
};
//console.log(productType)
axios({
method: 'post',
url: 'http://localhost/admin/addProductType',
data: productType
});
}
}
});