当我们使用有关ngcontentInit生命周期挂钩的讨论时,将内容从父项投射到子项意味着什么?

时间:2019-04-19 11:44:36

标签: angular components hook ng-content

我试图了解Angular中的生命周期挂钩。对于ngcontentInit,当父项目将某些项目投影到子视图中时会调用它。

这里的投影是什么意思。这是否意味着它会在初始化父视图之前完全初始化投影组件的视图?

1 个答案:

答案 0 :(得分:0)

class ComponentProjected{
   ngOnInit(){
     console.log("Projected onInit");
   }
   ngAfterViewInit(){
      console.log("Projected ViewInit");
   }
 }




@Component({
  selector: "app-root",
  template: "<ng-content></ng-content>",
  styleUrls: ["./app.component.scss"]
})
export class ComponentParent implements AfterContentInit {
  ngAfterContentInit(): void {
    console.log("Content initialized");
  }
}

它将记录

console.log("Projected onInit");
console.log("Projected ViewInit");
console.log("Content Initialized"):

因此它将初始化投影的组件渲染视图,然后在afterContentInit之后触发