有时,vue中的组件封装的太深,会导致表单新增成功后,通过 this.$emit(‘reloadUser’) 刷新父组件难以操作。所以使用vue中的 provide / inject 组合 方式
参考连接 :
https://blog.csdn.net/qq_38337245/article/details/95065501
https://www.cnblogs.com/yinn/p/9056731.html
1、在父组件中将要刷新的组件(一般是table 区域组件)用 keep-alive 包裹起来
<keep-alive v-if="isRouterAlive">
<MyTable/>
</keep-alive>
2、在父组件中 写 provide 和 isRouterAlive: true,
3、接着在父组件的 方法中
4、在父组件的任意一个子组件中 注入
5、当子组件新增或修改完后 ,直接调用子组件中注入的 reload 即可
如此,便可实现无闪烁刷新子组件