所以我尝试使用带有 ngOptions 的选择字段来填充它。但是每当我选择某些内容时,我在 ngModel 中使用的变量就会变成未定义。
这是我的 HTML:
<select ng-options="name as operator.name for operator in vm.operators track by operator.value" ng-model="vm.oper"></select>
还有我的 typescript :
private operators: Array<any> = [
{
name: 'greater than',
value: '>'
},
{
name: 'less than',
value: '<'
},
{
name: 'equal',
value: '='
},
{
name: 'greater than or equal',
value: '>='
},
{
name: 'less than or equal',
value: '<='
}
];
private oper: any = null;
选择字段显示正常,并且 HTML 中的值似乎是正确的。但是当我选择任何值时,“oper”变得未定义
我不明白是什么原因造成的,应该很简单吧?
最佳答案
尝试使用operator
而不是name
或operator.value
<select ng-options="operator.value as operator.name for operator in vm.operators track by operator.value" ng-model="vm.oper"></select>
或
<select ng-options="operator as operator.name for operator in vm.operators track by operator.value" ng-model="vm.oper"></select>
关于javascript - 使用 ngOptions 选择将 undefined 返回到 ngModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39915922/