可以在模型中更新对象吗?

时间:2015-11-25 15:19:35

标签: angular angular2-forms

我正在尝试使用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>

1 个答案:

答案 0 :(得分:2)

是的!对象&#39;属性可以与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" >

所以,正如你可以看到它只是将值从一个地方传递到另一个地方,那个值(原始或不是)可以在任何地方。