У меня в quasar так, адаптируется, в принципе, не сложно (например редиирект на /loading с параметром, откуда редиректим а отуда обратно по триггеру из watch). И да, знаю, что у меня костыльный костыль :)
import { Loading } from "quasar";
function aSecond() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, 1000);
});
}
export default ({ router, store, Vue }) => {
router.beforeEach(async (to, from, next) => {
if (store.state.catalog.loading) Loading.show();
while (store.state.catalog.loading) {
await aSecond();
}
Loading.hide();
////
};