Javascript 检测组件是从路由器Vue安装的

Javascript 检测组件是从路由器Vue安装的,javascript,vue.js,Javascript,Vue.js,所以基本上我在尝试创建加载器 我有一个加载程序组件,在vuex中声明了加载语句。也 我有两条父路径,如“/landing”和“/dashboard” 我正试图在登录页视图中执行类似的操作 <section class="landing"> <Header /> <Loader v-if="$store.state.loading" /> <router-view v-else> </router-view> &l

所以基本上我在尝试创建加载器

我有一个加载程序组件,在vuex中声明了加载语句。也 我有两条父路径,如“/landing”和“/dashboard” 我正试图在登录页视图中执行类似的操作

<section class="landing">
    <Header />
    <Loader v-if="$store.state.loading" />
    <router-view v-else> </router-view>
</section>
但nextTick不适合我,我想检测是否加载了图像/数据(组件已安装)。
有什么建议吗?

也许您可以在/landing和/dashboard mounted()方法中发送一些存储信号来设置state.loading=false?是的,但我不想在每个组件中写入mounted(),或者组件(landing/dashboard)挂载是否等待路由器视图挂载?首先挂载父组件,然后再挂载路由器视图
router.beforeEach((to, from, next) => {
    store.state.loading = true;
    next();
});

router.afterEach(()=> {
    Vue.nextTick(() => {
       store.state.loading = false; 
    });
});