1. 生命周期钩子
当angular实例化组件类并渲染组件视图及其子视图时,组件实例的生命周期就开始了。生命周期一直伴随着生命检测,angular会检查数据绑定属性何时发生变化,并按需更新视图和组件实例。当angular销毁组件实例并从dom中移除塔渲染的模板时,生命周期就结束了。当angular在执行过程中创建、更新和销毁实例时,指令就有了类似的生命周期。
在应用中,可以使用生命周期钩子方法来触发组件或生命周期中的关键事件,以初始化新实例,需要时启动变更检测,在变更检测过程中响应更新,并在删除实例之前进行清理。
2. 生命周期的顺序
钩子方法 | 用途 | 时机 |
ngOnChanges() | 当angular设置或者重新设置数据绑定的输入属性时响应。该方法接受当前和上一属性值的SimpleChanges对象。 注意:这里发生的非常频繁,所以在这里执行的任何操作都会显示影响性能。 |
在ngOnInit()之前,以及所绑定的一个或者多个输入属性的值发生变化时都会被调用。 注意:如果组件没有输入,或者使用它时没有提供任何输入,那么框架就不会调用ngOnChanges() |
ngOnInit() |