Kann ngTemplateOutlet nicht zum Funktionieren bringen

Ich versuche zu bauen, eine Auflistung Komponente in Angular2, nimmt die Elemente, die Spalten und die Vorlagen für die Felder der Elemente, die vom Benutzer der Komponente. So bin ich versucht zu verwenden ngTemplateOutlet und ngOutletContext (die ich gelesen habe sind experimentell). Aber ich kann nicht ankommen es zu wirken.

Hier ist eine vereinfachte Komponente, zu zeigen, was ich zu tun versuche:

<div *ngFor="let item of items>
  <span *ngFor="let column of columns>
    <template [ngOutletContext]="{ item: item }" 
              [ngTemplateOutlet]="column.templateRef"></template>
  </span>
</div>

Hier ist die Verwendung der Komponente:

<my-component [items]="cars" [columns]="carColumns">
  <template #model>{{item.model}}</template>
  <template #color>{{item.color}}</template>
  <template #gearbox>{{item.gearbox}}</template>
</my-component>

Ist hier und Beispiel-Daten:

cars = [
  { model: "volvo", color: "blue", gearbox: "manual" },
  { model: "volvo", color: "yellow", gearbox: "manual" },
  { model: "ford", color: "blue", gearbox: "automatic" },
  { model: "mercedes", color: "silver", gearbox: "automatic" }
];

carColumns = [
  { templateRef: "model" },
  { templateRef: "color" },
  { templateRef: "gearbox" }
];

Hier ist ein plunker Reproduktion die Frage nach der Anpassung des Codes nach Günters Kommentar:
https://plnkr.co/edit/jB6ueHyEKOjpFZjxpWEv?p=preview

InformationsquelleAutor der Frage Hampus | 2016-11-04

Schreibe einen Kommentar