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

发布于 2022-09-07 23:56:32 字数 519 浏览 15 评论 0

  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的时候执行后续操作?)

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

望她远 2022-09-14 23:56:32

在子组件中的 mounted 里调用

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文