我想显示一个加载图标,而所有组件仍在加载,它会消失时,所有组件已完成加载数据。
有没有全局性的方法来知道什么时候所有的东西都被加载了,而不是一个接一个地手动检查组件?
版面配置:
<template>
<LoadingBar :loadingBar="loadingBar" />
<NuxtLayout name="root">
<slot />
</NuxtLayout>
</template>
字符串
页面:使用上述布局的
<template>
<LazyComponent1 v-cloak /> => run its own data
<LazyComponent2 v-cloak /> => run its own data
<LazyComponent3 v-cloak /> => run its own data
</template>
<style lang="sass">
[v-cloak]
display: none
</style>
型
1条答案
按热度按时间42fyovps1#
你可以在你的App组件中做这样的事情:
字符串
然后从每个子组件导入
eventBus
,然后在加载数据之前执行eventBus.$emit('componentLoading')
,在加载数据时执行eventBus.$emit('componentLoaded');
,并基于loadingBar
显示/隐藏加载栏