Zajmuję się tworzeniem aplikacji Angular2, a ja w obliczu problemu:Angular2: Dwukierunkowa wiążące składnik dane dynamicznie wstawiane za pomocą DynamicComponentLoader
Mam zestaw różnych obiektów, które mogą być wybrane za pomocą interfejsu użytkownika. Każdy z tych obiektów ma zestaw opcji (różnych dla różnych obiektów), które można edytować za pomocą interfejsu użytkownika. Teraz używam DynamicComponentLoader do wstawienia konkretnego komponentu dla aktualnie wybranego obiektu, aby mógł poprawnie obsłużyć swoje opcje. Problem polega na tym, że nie wiem, jak powiązać dane aktualnie wybranego obiektu z dynamicznie wstawianym komponentem opcji.
@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 jest plunker pomóc zrozumieć moje pytanie:
jedynym przykładem jest wokół jest to https://github.com/angular/angular/blob/1aeafd31bd440a4997362e66738926387940fc1e/modules/angular2_material/src/components/dialog/dialog.ts –