Я новичок в VueJS, работаю над компонентом и хочу получить некоторые данные из API до загрузки соответствующего маршрута; только тогда компонент должен загрузиться. Как только компонент создан, мне нужно вызвать другой API, который принимает в качестве входных данных данные, полученные из первого API. Вот мой скрипт компонента:
export default {
name: 'login',
data () {
return {
categories: []
}
},
created () {
// it gives length = 0 but it should have been categories.length
console.log(this.categories.length);
// Call getImage method
loginService.getImage(this.categories.length)
.then(res => {
console.log('Images fetched');
})
},
beforeRouteEnter (to, from, next) {
loginService.getCategories().then((res) => {
next(vm => {
vm.categories = res.data.categories;
});
}, (error) => {
console.log('Error: ', error);
next(error);
})
},
methods: {}
}
Я пытался использовать хук mounted
, но он не работает. Однако, если я watch
свойство categories
и вызываю метод выборки изображения, он работает. Я не думаю, что использование наблюдателей — лучший подход. есть идеи?