猿问

vue组件的初始化应该在组件内部还是父组件调用?

  1. 比如说现在有一个下拉框组件,它需要初始化里面的内容。组件内部有个init方法可以获取内容数据。

应该在父组件上用$refs.xxx.init()调用,还是子组件直接在created或mounted里调用?
($refs.xxx.init()调用的话,用异步函数父组件可以知道什么时候初始化结束,而直接created中执行,也可以通过$emit自定义事件让父组件知道初始化结束)

这两者有什么优劣吗?

  1. 假设父组件里除了A这个下拉框组件,还有另外一个B组件也需要初始化,父组件需要等两个子组件都初始化结束后进行后续操作,如果A和B两个组件都是在父组件上(通过$refs.xxx.init())调用各自的init方法,实现起来很简单。

但是如果都是在各自的created上初始化并用$emit抛出,父组件应该怎么判断两个子组件都初始化完了呢?
(父组件内部定义一个计数器,在捕获到事件触发时+1吗?然后2的时候执行后续操作?)

我不知道自己的思路是不是有问题,求指正


泛舟湖上清波郎朗
浏览 522回答 0
0回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答