Angular2 ngModel 选择 - 处理一个对象

标签 angular angular2-forms

我有以下构造:

 <select ngbDropDown class="form-control" id="disk1" required [(ngModel)]="disk1" name="resourceA">
     <option *ngFor="let r of disks" [value]="r">{{r.name}}</option>
 </select>

我想将 r 对象传递给 ngModel disk1,这是我组件中的一个属性:

disk1 = new Disk();

但是,如果我在更改选择框后尝试访问它,我会得到未定义的信息:

console.log("Disk1 id: " + this.disk1.id);

有什么想法吗?谢谢!

最佳答案

您可以使用 ngValue 而不是简单的值绑定(bind)来将对象绑定(bind)到 option 元素。

<select [(ngModel)]="model.selectedItem" name="selectItem">
    <option *ngFor="let item of items" [ngValue]="item">{{item.title}}</option>
</select>

关于Angular2 ngModel 选择 - 处理一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39654048/

相关文章:

intellij-idea - 使用 dart 为 angular2 组件定义提供程序

validation - Angular 2 : how to apply custom validators in a certain order?

Angular 2 : Apply Validator. 在某些情况下需要验证

typescript - 将 FormGroup 映射到界面对象

angular - react 形式的两种方式绑定(bind)

angular - 如何从 ng 更新中排除对等依赖?

angular - 向 Angular router.navigate 添加参数

Angular - 禁用输入的 Karma 测试无法正常工作

forms - 以 angular2 模型驱动形式重用组件

Angular2 - 输入键首先执行(单击)表单上的功能