我正在尝试使用Angular 2和Typescript编写数据条目,但在更新模型时遇到问题.
据我所知,只有原始类型可以绑定到ng-model.但在我的模型中,我有想要更新的对象.
是否有任何角度特定的方法来执行它而不是使用绑定到ng-model的已更改属性加载孔对象?
这是模型:
export class Project {
public id: number;
private title: string;
private region: Region;
}
这是Angular Component类:
@Component({...})
export class ProjectForm {
public project: Project;
public regions: Array<Region>;
}
这是ProjectForm的视图:
...
<select id="region" [(ng-model)]="project.region.id">
<option *ng-for="#region of regions" [value]="region.id">
{{ region.name }}
</option>
</select>
最佳答案 是!对象的属性可以与ngModel绑定.见
Plnkr
因为,
<input [(ngModel)]="project.region.id" />
分解为
<input [ngModel]="project.region.id" (ngModelChange)="project.region.id = $event" />
这是一样的
<input [value]="project.region.id" (input)="project.region.id = $event.target.value" >
因此,正如您所看到的那样,它只是将值从一个地方传递到另一个地方,那个值(原始或不是)可以在任何地方.