使用[(ngModel)]生成选择菜单,而不使用* ngFor

时间:2017-10-09 12:27:57

标签: angular typescript

今天,我花了大约3个小时试图让select菜单无需迭代列表即可运行:

<select [(ngModel)]="selectedValue">
  <option [ngValue]="value1">First Value</option>
  <option [ngValue]="value2">Second Value</option>
</select>

但是所有的值都变得不明确......任何想法在这里发生了什么?

2 个答案:

答案 0 :(得分:3)

问题是NgValue指令正在组件中查找名为value1value2的变量,但它们未定义,因此每个选项的值为undefined 。如果您希望自己的值为string,只需添加''

即可
<select [(ngModel)]="selectedValue">
    <option [ngValue]="'value1'">First Value</option>
    <option [ngValue]="'value2'">Second Value</option>
</select>

答案 1 :(得分:1)

您尝试通过value1将组件成员变量value2ngValue绑定到该选项。我想您忘记在组件代码中定义它们,如:

public value1 = 'value1';

您还可以进行简单的字符串分配,例如:

<option ngValue="value1"></option>