angular - ng-model 可以更新模型中的对象吗?

标签 angular angular2-forms

我正在尝试使用 Angular 2 和 Typescript 编写数据条目,但在更新模型时遇到问题。 据我了解,只有原始类型可以绑定(bind)到 ng-model。但是在我的模型中,我有要更新的对象。 是否有任何 Angular 特定的方法来执行此操作,而不是使用绑定(bind)到 ng-model 的已更改属性加载孔对象?

这是模型:

export class Project {
    public id: number;
    private title: string;
    private region: Region;
}

这是 Angular 组件类:

@Component({...})
export class ProjectForm {
    public project: Project;
    public regions: Array<Region>;
}

这是 ProjectForm 的 View :

...
<select id="region" [(ng-model)]="project.region.id">
    <option *ng-for="#region of regions" [value]="region.id">
        {{ region.name }}
    </option>
</select>

最佳答案

是的!对象的属性可以与 ngModel 绑定(bind)。参见 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" >

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

关于angular - ng-model 可以更新模型中的对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33920167/

相关文章:

cordova - ionic : How to not stack multiple toast notifications?

angular - 类型 'ElementRef' 不是通用的

angular - 输入焦点时如何隐藏错误消息?

Angular 形通用管道

javascript - 如何从独立的纯 JavaScript 函数调用 Angular 4 方法?

angular - 如何在指令中收听子元素事件?

Angular 2/4 自动完成搜索框

Angular 路由器 : Get route config that matched the current route

angular - 选择 Angular2 的双向绑定(bind)

Angular 2 : custom form validation with input formatting