Я пробовал использовать beforeRouteEnter, но не могу использовать методы компонента перед вызовом next. А если вызываю next, то идет переход на непрогруженную страницу
То как сейчас
beforeRouteEnter(to, from, next) {
next(vm => {
vm.getAjaxData(); // Мы сразу переходим на страницу, и там уже ждем данные
});
}
Как нужно
async beforeRouteEnter(to, from, next) {
await this.getAjaxData();
next();
}
Я думаю можно использовать внешнюю функцию, определить её вне methods: {}, но эта же функция используется и при routeUpdate, и в самом компоненте, и в watch. Выглядит неправильным. Что я упускаю?
вынеcи getAjaxData просто как функцию. дальше просто getAjaxData().then((res) => {next(vm.data = res.data)}) в beforeRouterEnter
В целом так и планировал, но почему-то ощущение что не совсем правильно. Учитывая что везде кроме beforeRouteEnter она используется как this.getAjaxData
Обсуждают сегодня