Angular 2 Template als Parameter für die Komponente
Meine vereinfachte Ziel ist der Aufbau einer Komponente, die eine Liste mit item-template. E. g.:
<list>item</list>
Hier ist mein code:
import {bootstrap} from 'angular2/platform/browser';
import {Component} from 'angular2/core';
@Component({
selector: 'list',
template: `
<ul>
<li *ngFor="let i of items" >
<ng-content></ng-content>
</li>
</ul>
`
})
class List {
items = [1, 2, 3];
}
@Component({
selector: 'app',
directives: [List],
template: '<list>item</list>'
})
class App { }
bootstrap(App, []);
Erwartete Ergebnis:
- Element
- Element
- Element
Tatsächliches Ergebnis:
•
•
• item
InformationsquelleAutor der Frage Dizzy | 2016-04-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich 3 Möglichkeiten, es zu tun
Ausgabe:
plunker: https://plnkr.co/edit/ollxzUhka77wIXrJGA9t?p=preview
mehr sehen https://github.com/ilio/ng2-dynamic-components/blob/master/README.md
InformationsquelleAutor der Antwort IgorL
Dies ist, wie ich es gemacht habe:
Verwendung:
Komponente:
Komponente HTML -
InformationsquelleAutor der Antwort RVandersteen
PLUNKER
AFAI versucht
<ng-content>
können nicht gebundenen wiederholt, aber Sie können passierenitem
als Eingabe, wie diesInformationsquelleAutor der Antwort Ankit Singh
Ich würde in Erwägung ziehen, etwas das design. Anstelle von einfügen von Inhalten zwischen
<list>
und</list>
- und Referenz-solcher Inhalte überng-content
imList
Komponente, ich möchte eine Komponente erstellen, die die Rolle spielt, die der Inhalt (d.h. "wiederholen Sie die Vorlage mit lokalen Variablen übergeben, so wird jedes Element ist anders") mit den erforderlichen input-Variablen und einfügen der Komponente in der Liste aus. In anderen Worten, so etwas wie diesesContentComponent
Liste
Ich hoffe, es hilft
InformationsquelleAutor der Antwort Picci