如果有孩子提出请求,例如使用axios,如何触发Bootstrap vue覆盖。我想自动做到这一点,我只需要一个请求来触发覆盖。
<b-overlay>
<child>
<other-child />
</child>
</b-overlay>
还有另一个选项,您可以使用Vuex定义管理应用程序的全局状态。当然,如果您的项目规模较小,使用$emit
可能是更好的解决方案。
有一个示例代码可以为您提供Vuex的主要思想,您需要根据自己的情况对其进行扩展。
const store = new Vuex.Store({
state: {
is_loading: true
},
mutations: {
changeIsLoading(state, value) {
state.is_loading = value
},
}
})
就像@slowFooMovement在评论中说的那样,你可以将axios的实例配置为在请求中有一个请求/响应拦截器,你将把应用程序状态更改为加载,在响应中,它将被设置为不加载。
下面是一个基本的例子https://codesandbox.io/s/interesting-leakey-deqr6?file=/src/components/FilmList.vue