【发布时间】:2018-01-02 23:46:46
【问题描述】:
我正在使用ComponentFactoryResolver 动态创建要插入到我的模板中的元素,该模板使用ng-content 进行嵌入。
在我将select 属性添加到我的ng-content 之前,这一切都非常有效。请参阅this plunker,它演示了该问题。如果我从 app.ts 的第 63 行上的 HeaderComponent 模板中删除 content-top 属性,则模板将按预期呈现。
但是我确实需要使用select,因为要注入两个不同的模板片段,所以我不能简单地删除它。
任何帮助表示赞赏。
【问题讨论】:
-
如果我删除第 63 行的
content-top属性,我看不出有什么区别。如果我从ng-content中删除select,我会看到HeaderComponent被渲染 -
Angular 仅包含直接子级。试试
select="[content-host]"plnkr.co/edit/DXCBACANjufthKMgNeSE?p=preview -
对不起,你说的很对,我的意思是从第 18 行删除
select。我需要能够选择在ng-template和<ng-template content-host>中被替换的元素无论如何都会被替换.在这种情况下,<h1 top-content>将是顶层。 -
because there are two different template fragments to be injected so I can't simply remove it.你能扩展你的例子吗?哪些片段也会被注入?
标签: javascript angular transclusion