ng-options跳过第一个元素

时间:2014-08-07 11:22:13

标签: angularjs

如何强制ng-options跳过第一个元素?

我试过:ng-show="!$first"适用于ng-repeat,但它不适用于ng-options

这是我的代码:

<select data-ng-model="minutes_per_slot" data-ng-options="slot as slot + ' minutes' for slot in all_slots"></select>

控制器:

$scope.all_slots = ["00","5","10","15","20","25"];

我希望没有选项包含00,但我无法从阵列中删除它。

有什么建议吗?

enter image description here

3 个答案:

答案 0 :(得分:6)

<select data-ng-model="minutes_per_slot" data-ng-options="slot as slot + ' minutes' for slot in all_slots.slice(1)"></select>

几乎相同的代码,但使用slice进行选择以获取第一个元素之后的所有内容。还使用ng-options,而不是重复选项,这在旧的IE版本中通常是一个问题。

答案 1 :(得分:1)

http://jsbin.com/yolig/1/edit

 <select data-ng-model="minutes_per_slot" >
    <option ng-repeat="slot in all_slots" value="{{slot}}" ng-if="slot!='00'" >{{slot}} minutes </option>
  </select>

答案 2 :(得分:1)

您可以在此选项标签上使用ng-repeat

<select data-ng-model="minutes_per_slot">

<option ng-repeat="currentSlot in all_slots" value="slot" ng-if="currentSlot !== '00'" >{{currentSlot}} minutes </option>

</select>