Я хочу сгенерировать форму из данных, которые я получаю от API, ну, это почти работает ... Я имею в виду, что мне нужно прокомментировать все в v-for , затем сохраните следующее раскомментируйте это и сохранить снова ... тогда мой локальный сервер покажет мою сгенерированную форму. Похоже, что часть HTML генерируется до моего смонтированного метода, в котором я устанавливаю данные внутри объекта. Хорошо, что foreach работает с пустым объектом и ничего не показывает. Могу ли я принудительно преобразовать мой v-for в w8 по методу рта? Или все, что я написал, неверно, и причина другая.
<template>
<div id="FormTemplate">
<div v-for="filtr in this.AsocFilterArray[this.$props.Table]" :key="filtr">
<span>{{ filtr.avilableOperators }}</span><br>
<span>{{ filtr.type }}</span><br>
<label :for="filtr.name">{{ filtr.displayName }}:</label>
<input type="text" :name="filtr.name" class="form-control" v-if="filtr.type == String">
<input type="date" :name="filtr.name" class="form-control" v-else-if="filtr.type == DateTime">
<input type="search" :name="filtr.name" class="form-control" v-else>
</div>
</div>
export default {
name: "FormTemplate",
props: {
Table: String,
},
data: function(){
return {
optionsAxios: {
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Bearer ' + localStorage.getItem("user-token"),
},
},
filters: {},
AsocFilterArray: {}
}
},
methods: {
GetFilters: async function(){
const URI = localStorage.getItem("URI") + "/api/filters";
return axios.get(URI, this.optionsAxios);
},
},
async mounted() {
await this.GetFilters().then((result)=>{
this.filters = result.data;
this.filters.allFilters.forEach(filter => {
this.AsocFilterArray[filter.type] = filter.elements;
});
}).catch(err=>{
console.log(err);
})
}