为什么在使用ng-options时,在select中我不能有多个ng-if选项

时间:2013-08-29 13:31:10

标签: javascript angularjs

如果某些表达式为真且我发现它添加了第一个而不是第二个,我试图在我的选择框中包含某些选项,这只会在我使用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,可以解释得更好,然后我就在这里

1 个答案:

答案 0 :(得分:2)

基本上对于ng-if = true的2个选项,代码实际上等同于

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

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

  

可选地,单个硬编码元素,设置值   到一个空字符串,可以嵌套到元素中。这个   然后,element将表示null或“not selected”选项。

第一个将被覆盖。