2016-08-16 46 views
2

是否有可能双向数据绑定到像下面的'选择'下拉菜单?尝试双向数据绑定选择元素时遇到问题

<select [(ngModel)]="selectedSport"> 
    <option *ngFor="let s of sports" [value]="s">{{s.Name}}</option> 
</select> 

我无法获得它的工作。我也尝试绑定只是ID,但不能得到那个工作。 See Plnkr here

我以角站点的'quickstart'live plnkr为例作为基础。

我得到的错误是:

不能绑定到“ngModel”,因为它不是“选择”的已知属性。

更新

感谢君特。我意识到我需要从RC4更新到RC5。我已经尝试使用角度“形式”plnkr示例相同的事情(所以表单模块被加载)。我仍然无法使它与RC5一起工作。是否有可能将一个select绑定到一个“对象”,还是必须是一个像数字一样的值类型?谢谢。

Second plnkr

解决方案

看到两个冈特的回答和评论。 我从RC4升级到RC5,导入了FormsModule,并且必须在'option'元素上使用[ngValue]而不是[value]。

<select [(ngModel)]="selectedSport"> 
    <option *ngFor="let s of sports" [ngValue]="s">{{s.Name}}</option> 
</select> 
+0

见注释我的回答如下。 –

回答

1

您需要加载形式模块

import { FormsModule } from '@angular/forms'; 

@NgModule({ 
imports: [ FormsModule, ... ], 
+1

我也有一种印象'[value]'也支持RC.5中的对象,但这似乎并不是这种情况。对于非字符串值,您仍然需要使用'[ngValue] =“...”'http://plnkr.co/edit/CG7btYCdRZQ2OgAyChn5?p=preview –

+1

太棒了。非常感谢Günter。现在我只需要从RC4升级到5 :) – user2444499