如果某些表达式为true,我会尝试在选择框中包含某些选项,并且我发现它会添加第一个而不是第二个,并且只有当我使用ng选项时才会发生这种情况我确实尝试过使用更复杂的表达式,但减少到只有ng-if="true"
来验证我的怀疑,一旦我删除了ng-options
,如果添加了ng选项。
这是我的用户型号
$scope.users = [{
"id": "123",
"description": "Tester",
"name": "Jane"
},
{
"id": "312",
"description": "Dev",
"name": "John"
}];
这是我的简化选择
<select class="fullWidth" ng-model="name_model" ng-selected="name_model"
ng-options="user.name as user.description for user in users" required>
<option ng-if="true" value="">-- Please Select an Approver Type: --</option>
<option ng-if="true" value="">-- Please Select One: --</option>
</select>
这是一个错误,是不允许的,还是我忽略了什么。我有一个JSFiddle,它可能比我在这里更好地解释
基本上对于ng-if = true
的2个选项,代码实际上相当于
<option value=""> Please Select an Approver Type: </option>
<option value=""> Please Select One: </option>
由于ngOptions只接受单个硬编码选项,
可选地,单个硬编码元素,具有值集到一个空字符串,可以嵌套到元素中。这元素将表示null或"未选择"选项。
第一个将被覆盖。