angular - 将 ng-template 从父级传递给子级
问题描述
你好 Angular 社区,
我想将 ng-template 从父组件传递给子组件,如下例所示:
#app.component:
<app-parent>
<ng-template #itemTemplate let-item>
<div class="myClass">{{ item.name }}</div>
</ng-template>
</app-parent>
家长:
TS:
item: Item;
@ContentChild('itemTemplate', { static: false }) itemTemplateRef: TemplateRef<any>;
模板:
<ng-container [ngTemplateOutlet]="itemTemplateRef" [ngTemplateOutletContext]="{$implicit: item}"></ng-container>
到目前为止一切正常,ng-template 被正确注入到父组件中,但是如果我们不想在父组件中使用它,而是将它注入到它的子组件中,这样父组件就会变成这样:
新家长:
TS:
item: Item;
@ContentChild('itemTemplate', { static: false }) itemTemplateRef: TemplateRef<any>;
模板:
<child>
<ng-container [ngTemplateOutlet]="itemTemplateRef" [ngTemplateOutletContext]="{$implicit: item}"></ng-container>
</child>
所以孩子将与老父母相同:
孩子:
TS:
item: Item;
@ContentChild('itemTemplate', { static: false }) itemTemplateRef: TemplateRef<any>;
模板:
<ng-container [ngTemplateOutlet]="itemTemplateRef" [ngTemplateOutletContext]="{$implicit: item}"></ng-container>
所以它不起作用我只想配置 PARENT 以将<ng-template #itemTemplate>正确传递给 CHILD
解决方案
推荐阅读
- r - 在 RStudio 中的 R 笔记本中更改绘图打印纵横比或大小,而不会使绘图变为全宽
- mysql - 如何在mysql npm包中的查询中执行sql文件
- neo4j - Neo4j Cypher:路径中相互依赖的关系值
- angular - Laravel - 注册激活邮件无法在 Laravel 中发送
- python - 你如何处理“硒”中的分页?
- php - 可以在同一个 Dockerfile 中有 PHP + MongoDb + Nginx 吗?
- python - 将python字典键对转换为字符串
- python - 将烧瓶 html 报告转换为 csv
- angular - 如何根据角度 6 中的条件使用隐藏 iframe
- laravel - 普通 HTTP 请求被发送到 HTTPS 端口错误 Docker nginx