详细介绍了如何在vuex监听组件
我不知道你有没有遇到过这样的情况。在vuex国家将使用的部件之一,而这一状态的初始化是通过异步加载完成。在渲染过程中的组件的状态是空的,也就是说,该组件已经完成渲染之前的异步完成,导致组件的数据不正确地呈现。
问题示例
例子如下:
/ / topo.vue
创建(){
This.getUserAndSysIcons();
},
方法:{
GetUserAndSysIcons(){
常量=;
用户图标
(iconapi。getusericons)。然后(反应= > {
自美元。store.dispatch('setusericons,响应数据);
});
}
}
当创建或安装完成后在topo.vue,getuserandsysicons()的异步调用初始化usericons促进这个数据在其他组件的使用。
/ / modifyhost.vue
挂载(){
this.usericons =这。store.state.topo.usericons美元; / /用户图标
}
modifyhost.vue渲染数据,你需要使用usericons,modifyhost.vue组件安装时完成,这usericons数据尚未初始化。原因modifyhost.vue渲染是空的。
反射
这个想法是,当usericons完成异步topo.vue,然后在modifyhost.vue组件的usericons初始化。这会自动改变渲染。所以,你怎么知道当异步完成吗
所以我认为一个好的事情,Vue,看监控,监控在一定数量的数据的变化。我们都知道这是很容易改变,本地数据监测模块。那么,你如何监控状态的变化吗因此,计算的计算属性被使用。具体操作如下:
解决
编写一个计算性能计算,getusericons,返回在国家管理的usericons。然后在看监控计算属性的变化和重新分配usericons在modifyhost.vue。
计算机:{
GetUserIcons(){
这store.state.topo.usericons美元收益;
}
},
表:{
GetUserIcons(Val){
this.usericons = val;
}
}
最终效果
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。