Tôi đang phát triển một ứng dụng Angular2, và tôi phải đối mặt với một vấn đề:Angular2: Hai chiều dữ liệu bắt buộc đối với thành phần tự động chèn sử dụng DynamicComponentLoader
Tôi có một tập các đối tượng khác nhau có thể được lựa chọn sử dụng giao diện người dùng. Mỗi đối tượng này có một bộ các tùy chọn (khác nhau cho các đối tượng khác nhau) có thể được chỉnh sửa bằng cách sử dụng giao diện người dùng. Bây giờ, tôi đang sử dụng DynamicComponentLoader để chèn một thành phần cụ thể cho đối tượng được chọn hiện tại, vì vậy nó có thể xử lý các tùy chọn của nó một cách chính xác. Vấn đề là tôi không biết cách liên kết dữ liệu của đối tượng được chọn hiện tại với thành phần tùy chọn được chèn động.
@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 là một plunker để giúp bạn hiểu được câu hỏi của tôi:
ví dụ duy nhất có xung quanh là là này https://github.com/angular/angular/blob/1aeafd31bd440a4997362e66738926387940fc1e/modules/angular2_material/src/components/dialog/dialog.ts –