Я не думаю, что вы можете принудительно инициализировать ваш компонент только после вызова ajax, но вы можете настроить его на скрытие до загрузки данных ajax, либо скрыв его с помощью css (используяv-show
) или просто запретив его рендеринг (используя v-if
).
Например, вы можете добавить свойство hasLoaded
к вашему компоненту и привязать к нему v-show
или v-if
, вот так:
На вашем js:
data: function () {
return {
supplierCount: 0,
hasLoaded: false
}
},
created: function () {
axios.get("/supplier/list").then(response => {
this.supplierCount = response.data.length;
this.hasLoaded = true;
});
}
На вашем шаблоне:
<!-- The top element is your root element, and you should always render it, so the v-show is appended to the immediate child -->
<div>
<div v-show="hasLoaded">
<!-- the rest of your template goes here -->
</div>
</div>