ich eine Angular2 App entwickle, und ich stand vor dem Problem:Angular2: Zwei-Wege-Daten auf Komponente Bindung dynamisch DynamicComponentLoader mit eingefügt
Ich habe eine Reihe von verschiedenen Objekten, die unter Verwendung von UI ausgewählt werden kann. Jedes dieser Objekte verfügt über eine Reihe von Optionen (für verschiedene Objekte unterschiedlich), die mithilfe der Benutzeroberfläche bearbeitet werden können. Jetzt verwende ich DynamicComponentLoader, um eine spezifische Komponente für das aktuell ausgewählte Objekt einzufügen, damit es seine Optionen korrekt verarbeiten kann. Das Problem ist, dass ich nicht weiß, wie Daten des aktuell ausgewählten Objekts an eine dynamisch eingefügte Optionskomponente gebunden werden.
@Component({
selector: 'dynamic',
template: `<div>Options:</div>
<div>Property1: <input type="number" /></div>
<div>Property2: <input type="text" /></div>`
// template: `<div>Options:</div>
// <div>Property1: <input type="number" [(ng-model)]="currentSelection.property1" /></div>
// <div>Property2: <input type="text" [(ng-model)]="currentSelection.property1" /></div>`
})
class DynamicComponent {
}
@Component({
selector: 'my-app',
template: `
<div>
<h2>Selected: {{currentSelection.name}}!</h2>
<div #container></div>
</div>
`
})
class App {
currentSelection = {name: 'Selection1', property1: 10, property2: 'test'};
constructor(private loader: DynamicComponentLoader, private elementRef: ElementRef) {
loader.loadIntoLocation(DynamicComponent, elementRef, 'container');
}
}
Here ist ein Plunker Sie verstehen, meine Frage zu helfen:
das einzige Beispiel dort um ist, ist diese https://github.com/angular/angular/blob/1aeafd31bd440a4997362e66738926387940fc1e/modules/angular2_material/src/components/dialog/dialog.ts –