Angular 在 select 元素中显示空值

Angular is displaying null values in select element

我有一个可能 null 的值数组。 AngularJS 默认情况下将这些值显示为一个值,但我想完全跳过这些值。

创建过滤器是我唯一的选择还是有其他解决方案?

我的代码:

var app = angular.module('fooapp', []);

app.controller('FooController', function($scope) {
    $scope.foo = [null, 'foo', 'bar'];
});

<body ng-app="fooapp">
    <div ng-controller="FooController">
        <select ng-model="foomodel" ng-options="f for f in foo"></select>
    </div>
</body>

这是一个笨蛋:

http://plnkr.co/edit/ZGbkbtQ2xNQuoaowUK5z?p=preview

试试这个:

<select ng-model="foomodel" ng-options="f for f in foo | filter:'!'+null"></select>

您可以使用过滤器来完成:

<select ng-model="foomodel" ng-options="f for f in foo | filter: '!null'"></select>