【问题标题】:Angular 4 component lifecycleAngular 4 组件生命周期
【发布时间】:2018-05-02 18:06:14
【问题描述】:

我正在尝试使用 Angular 4 公开的组件生命周期挂钩来处理与组件相关的某些信息。
当我尝试搜索时,我能够找到由 angular 4 (https://angular.io/guide/lifecycle-hooks) 暴露的生命周期钩子列表
我对触发其中一些方法的代码 sn-p 更感兴趣。 例如,在 Java 中,以下代码行将触发 'String' 类中的构造函数:

String hotelName = new String("Marriott");

将触发以下生命周期方法的 HTML、JavaScript 代码是什么:

  • 构造函数
  • ngOnInit
  • ngAfterViewInit
  • ngAfterViewChecked
  • ngOnDestroy

提前致谢。

【问题讨论】:

  • 生命周期钩子在编译源(组件、类、服务...)的过程中被捆绑以编译输出.只有构造函数是打字稿类的一部分。编译模块的来源是:github.com/angular/angular/tree/master/packages/compiler。只有一件事这不是 angularjs(旧的纯 js 版本),它只是 angular。
  • constructor 不是生命周期钩子。与在 Java 中一样,当使用 new 创建实例时调用它。 Angular 在创建组件或运行变更检测时会调用其他生命周期钩子。
  • 嘿,my answer有什么不清楚的地方吗?
  • @AngularInDepth.com 非常感谢您的回复。我无法浏览您分享的所有链接,但我想我已经得到了答案。

标签: angular


【解决方案1】:

在 Angular 中,所有生命周期挂钩都是作为框架变更检测的一部分触发的。要了解有关该过程的更多信息,请阅读:

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

构造函数不是生命周期钩子,在创建组件时触发。它与您展示的机制类似,包括使用 new 调用组件构造函数。

要了解更多信息,请阅读:

【讨论】:

    猜你喜欢
    • 2018-05-28
    • 1970-01-01
    • 2020-03-15
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 2018-11-19
    • 1970-01-01
    相关资源
    最近更新 更多