每个Angular 2组件都有自己的生命周期。每种方法都可以用于特定的目标。但是我找不到关于在每个生命周期钩子方法中使用什么逻辑更好以及何时使用它们的详细信息。
例如,在构造函数中,是注入所需依赖项的最佳位置。
谁可以详细地阐明这个问题(使用示例和最佳实践)?
发布于 2017-08-27 08:30:38
这在angular.io本身中是非常清楚的,请参考以下几点
TimingngOnChanges()
当Angular (Re)设置数据绑定输入属性时响应。该方法接收当前属性值和以前属性值的SimpleChanges对象。
在调用ngOnInit()之前以及每当一个或多个数据绑定输入属性更改时调用。
ngOnInit()
在Angular第一次显示数据绑定属性并设置指令/组件的输入属性之后,初始化指令/组件。
在第一个ngOnChanges()之后调用一次。
ngDoCheck()
检测并处理Angular本身不能或不会检测到的变化。
在每次运行更改检测期间,紧跟在ngOnChanges()和ngOnInit()之后调用。
ngAfterContentInit()
在Angular将外部内容投影到组件的视图中之后进行响应。
在第一个ngDoCheck()之后调用一次。
仅限组件的挂钩。
ngAfterContentChecked()
在Angular检查投射到组件中的内容后响应。
在调用ngAfterContentInit()函数以及随后的每个ngDoCheck()之后调用。
仅限组件的挂钩。
ngAfterViewInit()
在Angular初始化组件的视图和子视图后响应。
在第一个ngAfterContentChecked()之后调用一次。
仅限组件的挂钩。
ngAfterViewChecked()
在Angular检查组件的视图和子视图后响应。
在ngAfterViewInit函数和每个后续的ngAfterContentChecked()之后调用。
仅限组件的挂钩。
ngOnDestroy
在Angular之前的清理会销毁指令/组件。取消订阅可观察对象并分离事件处理程序,以避免内存泄漏。
在Angular销毁指令/component之前调用它。
https://stackoverflow.com/questions/45900577
复制相似问题