gpt4 book ai didi

angular - 以 Angular 6 向子组件插入模板

转载 作者:太空狗 更新时间:2023-10-29 17:43:08 26 4
gpt4 key购买 nike

在这种情况下,app-child是不能改变的,也就是说你只能操作app-parent。我的意见是想办法在 app-child 中插入模板,是否有类似 Renderer2.insert(parent, newItem, childRef) 或其他解决方案的功能?

https://stackblitz.com/edit/insert-template-to-child-component了解详情。

app.component.html

<app-parent>
<ng-template #childTemplate>
how to insert this template in app-child
</ng-template>
</app-parent>

parent.component.html

<app-child>
<!-- <ng-template #childTemplate>
this is work, but I need to input the template in app-parent content
</ng-template> -->
</app-child>

child.component.html

<ng-container [ngTemplateOutlet]="childTemplate"></ng-container>

最佳答案

您可以将模板作为 @Input() 传递给 child

parent.component.html

<ng-template #childTemplate></ng-template>

<app-child [childTemplate]="childTemplate"></app-child>

child.component.ts

@Input()
childTemplate: TemplateRef<any>;

child.component.html

<ng-container [ngTemplateOutlet]="childTemplate"></ng-container>

如果需要,您可以使用相同的策略将模板向下传递到多个级别。


更多详细信息:https://blog.angular-university.io/angular-ng-template-ng-container-ngtemplateoutlet/#configurablecomponentswithtemplatepartialinputs

关于angular - 以 Angular 6 向子组件插入模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51971873/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com