如何将模板从Angular中的子组件传递给父组件

时间:2020-08-12 21:13:03

标签: angular

我有一个这样的角度布局,我想从子组件更改父组件中的Header部分。 enter image description here

我用谷歌搜索了这个问题,但是我只看到有关将模板从父组件传递到子组件的文章。

是否可以将模板从子组件传递到父组件?

或者有什么方法可以将子组件的组件注入到父组件的头部分?

我知道我可以将值传递给父级,但是我需要传递模板或组件。

1 个答案:

答案 0 :(得分:1)

从架构的角度来看,考虑到某些组件应如何影响其他组件,从根到叶的数据流以及角度变化检测,这个想法并不是一个好主意。但仍然有可能

6.6
// parent.ts
setHeaderTemplate(templateRef: TemplateRef) {
  this.headerTemplate = templateRef
}
// parent.html
<div *ngTemplateOutlet="template">
</div>

请注意,在子级中“显示”模板逻辑是通过异步代码完成的。之所以这样做,是因为在评估ngAfterViewInit时,角度的变化检测性质已经对父组件进行了变化检测。