Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular ng模型能否更新模型中的对象?_Angular_Angular2 Forms - Fatal编程技术网

Angular ng模型能否更新模型中的对象?

Angular ng模型能否更新模型中的对象?,angular,angular2-forms,Angular,Angular2 Forms,我试图用Angular 2和Typescript编写一个数据条目,但在更新模型时遇到了一个问题。 据我所知,只有原语类型可以绑定到ng model。但是在我的模型中,我有我想要更新的对象。 是否有任何特定于角度的方法来执行此操作,而不是使用绑定到ng模型的已更改属性加载孔对象 这就是模型: export class Project { public id: number; private title: string; private region: Region; }

我试图用Angular 2和Typescript编写一个数据条目,但在更新模型时遇到了一个问题。 据我所知,只有原语类型可以绑定到ng model。但是在我的模型中,我有我想要更新的对象。 是否有任何特定于角度的方法来执行此操作,而不是使用绑定到ng模型的已更改属性加载孔对象

这就是模型:

export class Project {
    public id: number;
    private title: string;
    private region: Region;
}
这是角度组件类:

@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>
。。。
{{region.name}

是!对象的属性可以与
ngModel
绑定。看

因为


分解为


这和




因此,正如您所看到的,它只是将值从一个地方传递到另一个地方,该值(原语或非原语)可以在任何地方。

值得注意的是,
?。
(Elvis运算符)不能用于对象的双向绑定。至少目前没有。@GünterZöchbauer我不知道,谢谢分享:)
[ngModel]=“project?region.”id“
工作正常,但不支持
(ngModelChange)=“project?region.”id=$event“