0

如果某些表达式为真,我试图在我的选择框中包含某些选项,并且我发现它添加了第一个而不是第二个,并且这只发生在我使用 ng-options 我确实尝试过更复杂的表达式,但简化为只是ng-if="true"为了验证我的怀疑,一旦我删除了ng-options添加的两个 if-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可以解释得更好然后我在这里

4

1 回答 1

2

基本上对于 2 个选项ng-if = true,代码实际上相当于

<option value=""> Please Select an Approver Type: </option>
<option value=""> Please Select One: </option>

由于ngOptions只接受一个硬编码选项,

或者,可以将值设置为空字符串的单个硬编码元素嵌套到元素中。然后,此元素将表示 null 或“未选择”选项。

第一个将被覆盖。

于 2013-08-29T13:35:35.877 回答