3-2 组件生命周期(2)


增值检测也进行了两遍。


补充onChanges的注释。

value是SimpleChanges

Simples是一个接口,里面的每一项是SimplChange对象。

SimpleChange对象
框架

ngAfterContentInit

组件内容初始化。须要实现接口AfterContentInit






3d

在组件调用的时候,组件的标签内加上div和内容。这就是组件的内容对象


默认是不支持嵌套处理的。须要在组件内加上ng-content

这个时候咱们再来看这个组件。显示出来了内容。

在div里面的hello初始化以后,咱们要作点什么的话就能够在ngAfterContentInit里面去作了。
blog

ngAfterContentChecked



须要实现接口


接口

ngAfterViewInit


ngAfterViewInit也是屡次调用的

一个组件和它的全部的子组件都初始化完成。


实现这个接口



it

ngAfterViewChecked

视图初始化完成后的脏值监测。也是框架去完成的

加上接口

也是屡次被调用
bfc

总结



ngOnInit 一次性的,对组件类的初始化

先从ngContent内容搞起,初始化进来后,再脏值监测

而后视图初始化,。在里面的子的组件,包括本身组件自己视图在初始化。而后进行视图的脏值监测,这个过程其实就是由里到外,先从内容开始,本身的视图还有包括的子组件,这样全检测完以后。而后算作是你的整个View。init就给整个视图渲染成功了。


后面为何还有两次脏值监测。这是由系统框架进行的。脏值监测通常都是屡次。
渲染

onDestroy




没有被打印出来。由于组件没有销毁

实现接口


在它的父组件当中去销毁。背景色是红色的时候渲染这个组件。在其余颜色的时候这个组件就没有了。没有就会触发销毁的动做。


一开始是红色,点击menu后颜色随机成了红色就销毁了组件。


 im

结束-总结

黄色的都是子过程


组件里嵌套的content或者view 都初始化完过后就是ngAfterViewInit
全部的checked都是脏值监测相关的,他们都是屡次的。
onChanges也是屡次的,只不过是以偶尔触发性的,输入属性变化时才会触发


d3