gpt4 book ai didi

angular - 父级的 ngAfterViewInit 与子级的 ngAfterViewInit

转载 作者:行者123 更新时间:2023-12-04 07:23:24 25 4
gpt4 key购买 nike

Parent 的 ngAfterViewInit 会一直在 child 的 ngAfterViewInit 之后运行吗?

<Parent>
<child></child>
<Parent>
从 parent 的 ngAfterViewInit 我向 child 发出一些数据。
在 Child 的 ngAfterViewInit 中,我订阅了数据。但是订阅不是
触发。在我的例子中, child 是一个网格,它在 ngOnInit 中有大量的 api 调用。当我安慰登录时,我发现 Child 的 ngAfterViewInit 是
在父级的 ngAfterViewInit 之后运行。所以当我从
Parent 的 ngAfterViewInit Child 中的订阅者未配置为
它的 ngAfterViewInit 在我从父级发出有效载荷后运行。

最佳答案

是的,ngAfterViewInit父组件将始终在子组件之后运行。
在 Angular 文档中,您可以找到 here关于 ngAfterViewInit据说:

Respond after Angular initializes the component's views and child views, or the view that contains the directive.


所以如果我们相信文档,第一个 ngAfterViewInit将始终从 View 的“最嵌套”可见组件部分调用。
如果您不信任文档 :D 这里是 stackblitz打开控制台并观察。
关于组件间的数据传递,可以随时通过 @Input传递数据事情很可能会奏效。
编辑
我在您的评论中看到了附加信息,您可以通过使用 @ViewChild 从父组件与子组件进行交互的另一种方式。 , 如果您使用 @ViewChild 定位子组件您可以从父级 ngAfterViewInit 中的子级调用任何您需要的方法

关于angular - 父级的 ngAfterViewInit 与子级的 ngAfterViewInit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68360062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com