Я хотел бы «вести диалог» с компонентом приложения, где у меня есть <router-view>
и компонент загрузки:
<Loading :loadingEnabled="loadingEnabled" />
<router-view
@showLoadingEvent="showLoading"
@hideLoadingEvent="hideLoading"
/>
Когда я пытаюсь инициировать пользовательские события, он говорит, что this
is undefined (т.е. TypeError: Cannot read property '$emit' of undefined
):
router.beforeResolve((to, from, next) => {
this.$emit('showLoadingEvent');
next();
});
router.afterEach((to, from) => {
this.$emit('hideLoadingEvent');
});
Как я могу отправлять события из Vue Router?