文章目录
在项目开发过程中,我们经常使用el-drawer和el-dialog进行初始化问题,
在最近的项目中,有好几个朋友总是问我:你看我在created或者mounted中已经写了组件的初始化工作,为什么就不对呢?
现在我们就来说下这两个组件使用的场景:
场景:
点击按钮,将id传递给子组件,触发el-drawer和el-dialog弹出,远程请求数据,渲染页面。
1 分析场景:
- 点击按钮,获取id
- id 绑定子组件
- 子组件获取id,并通过id 请求远程数据
- 获取数据后渲染子组件
2 实际业务难点:
当主页面渲染时,同时el-drawer和el-dialog也跟着渲染,小伙伴们经常在created或者mounted中去做子组件的渲染。这样就导致了子组件取不到id,导致子组件渲染失败,或者报错一堆。
3 解决方案:
其实,解决方案很简单,就是选对初始化子组件的时机。我们可以监听id产生变化的时机,当id不等null的时候,再去发起远程请求,当拿到数据后再进行页面的渲染。