所以我有一个<template>
<some-component [data]="someArray">
<template>foo<template>
</some-component>
它正在使用它来获取模板
@ContentChild(TemplateRef)
public tmpl: TemplateRef<any>;
然后在其模板中使用
<div *ngFor="let item of someArrayFromDataInput">
<template [ngTemplateOutlet]="tmpl"></template>
</div>
现在我希望能够在原始模板中打印item
的一些数据,基本上是为了能够做到这一点
<some-component [data]="someArray">
<template>foo {{ item }}<template>
</some-component>
有可能吗?
答案 0 :(得分:11)
更新以匹配Angular 5+ api 根据{{3}}
,ngOutletContext
已重命名为ngTemplateOutletContext
一旦登陆https://stackoverflow.com/a/37654077/301596,它就会像这样工作
<div *ngFor="let item of someArrayFromDataInput">
<template
[ngTemplateOutletContext]="{
item: item
}"
[ngTemplateOutlet]="tmpl"></template>
</div>
+
<some-component [data]="someArray">
<template let-item="item">foo {{ item }}<template>
</some-component>
//编辑:登陆
答案 1 :(得分:0)
更新Angular 5
ngOutletContext
已重命名为ngTemplateOutletContext
另见https://github.com/angular/angular/blob/master/CHANGELOG.md#500-beta5-2017-08-29
<强>原始强>
您似乎要求https://github.com/angular/angular/issues/8368(NgTemplateOutlet)中要求的相同功能
<强>更新强>
有关使用Plunker示例的信息,请参阅How to repeat a piece of HTML multiple times without ngFor and without another @Component。