我想在我的页面中设置动态模板,我使用但信息有限。
设置@Viewchild
和@ContentChild
以分配template
,这是一个很好的网络示例(即轻型DOM和影子DOM,REF)。
ngOutletContext
和ngTemplateOutlet
也是有限的。您可以搜索experiment
代码。可以请某人解释,有人使用<template let-item>
。这是一样的吗?
答案 0 :(得分:1)
更新Angular 5
ngOutletContext
已重命名为ngTemplateOutletContext
另见https://github.com/angular/angular/blob/master/CHANGELOG.md#500-beta5-2017-08-29
<强>原始强>
您可以创建模板然后传递它,ngTemplateOutlet
允许渲染这样的模板。 ngOutletContext
允许将数据传递给模板。
let-item
允许引用作为$implicit
<template #foo let-item>
{{item}}
</template>
<template [ngTemplateOutlet]="foo" ngOutletContext="{$implicit: 'bar'}"></template>
或使用任何其他传递的值
<template #foo let-item="bar">
{{item}}
</template>
<template [ngTemplateOutlet]="foo" ngOutletContext="{bar: 'baz'}"></template>
您可以使用@ViewChild()
来获取模板的引用并传递它以在另一个组件中呈现模板,而不是使用模板变量并在同一组件中引用模板。