2017-06-18 75 views
2

组件生命周期我们有不同的接口跟踪组件
生命周期,例如。 是OnInitOnChanges的OnDestroy ...等
在运行时如何做角触发这些方法?角度如何实际触发生命周期钩子?

为前。 ngOnChanges()时触发@input数据被改变
现在角有此逻辑我假定
1-每当角检测在@input数据变化
2-角检查如果此组件类实现OnChanges
3-如果真,那么触发ngOnChanges()

且有一定的日志ic为每个生命周期挂钩
这是角度触发器生命周期挂钩的方式吗?

+1

您是否看过文档? –

回答

3

大问题的层次! Angular的生命周期钩子由@angular/core库[source]实现。

为了证明这一点,运行angular cli项目,并在(可选铬)开发工具,放置一个换行符生命周期的钩子里,像这样:

Select line break inside life cycle hook

刷新页面以赶上断点从而查看调用堆栈:

Catch breakpoint

的角度队显然写冗长的代码,所以我不认为我需要解释的跟随着的逻辑调用ngOnInit() G的公报:

if ((view.state & ViewState.FirstCheck) && (def.flags & NodeFlags.OnInit)) { 
    directive.ngOnInit(); 
} 

此功能的不错打字稿版本可以发现here

相关问题