比如说现在有一个下拉框组件,它需要初始化里面的内容。组件内部有个init方法可以获取内容数据。
应该在父组件上用$refs.xxx.init()调用,还是子组件直接在created或mounted里调用?
($refs.xxx.init()调用的话,用异步函数父组件可以知道什么时候初始化结束,而直接created中执行,也可以通过$emit自定义事件让父组件知道初始化结束)
这两者有什么优劣吗?
假设父组件里除了A这个下拉框组件,还有另外一个B组件也需要初始化,父组件需要等两个子组件都初始化结束后进行后续操作,如果A和B两个组件都是在父组件上(通过$refs.xxx.init())调用各自的init方法,实现起来很简单。
但是如果都是在各自的created上初始化并用$emit抛出,父组件应该怎么判断两个子组件都初始化完了呢?
(父组件内部定义一个计数器,在捕获到事件触发时+1吗?然后2的时候执行后续操作?)
我不知道自己的思路是不是有问题,求指正
相关分类