Angular 4组件生命周期

4
我正在尝试使用Angular 4提供的组件生命周期挂钩来处理与组件相关的特定信息。
当我尝试搜索时,我能够找到Angular 4公开的生命周期挂钩列表 (https://angular.io/guide/lifecycle-hooks)
我更感兴趣的是触发其中几种方法的代码片段。 例如,在Java中,以下代码行将触发'String'类中的构造函数:
String hotelName = new String("Marriott");

以下是触发生命周期方法的HTML、JavaScript代码:
  • constructor:在构造函数中调用。
  • ngOnInit:在组件初始化时自动调用。
  • ngAfterViewInit:在组件及其子视图初始化完成后调用。
  • ngAfterViewChecked:在组件及其子视图每次检测变更后调用。
  • ngOnDestroy:在组件销毁前调用。
感谢您的提问。

生命周期钩子被捆绑到编译源代码(组件、类、服务等)的过程中,以编译输出的形式呈现。组件是Angular指令,如果它们实现了生命周期钩子(接口),则生成的源代码会调用已实现的接口方法。只有构造函数是TypeScript类的一部分。编译模块的源代码位于:https://github.com/angular/angular/tree/master/packages/compiler。唯一需要注意的是,这不是AngularJS(旧版纯JS版本),而是Angular。 - MRsa
“constructor”不是生命周期钩子。就像在Java中,当使用“new”创建实例时调用它。其他的生命周期钩子是由Angular在创建组件或运行变更检测时调用的。 - Günter Zöchbauer
嘿,关于我的回答,有什么不清楚的地方吗? - Max Koretskyi
@AngularInDepth.com非常感谢您的回复。虽然我没有能够查看您分享的所有链接,但我认为我已经得到了答案。 - shekharlondhe
1个回答

4
在 Angular 中,所有的生命周期钩子都是由框架作为变更检测的一部分触发的。要了解更多有关这个过程的信息,请阅读以下内容:

例如,在 Java 中,以下代码行会触发 'String' 类中的构造函数:

构造函数不是一个生命周期钩子,在组件创建时触发。它与你展示的那个机制类似,其中使用 new 调用组件的构造函数。

要了解更多信息,请阅读以下内容:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接