过滤多个特定值的ng-repeat

时间:2013-10-16 11:34:33

标签: javascript angularjs

我正在尝试使用2个数据列过滤ng-repeat。

数据

  • name(string)
  • address = [{city(string)}](array)

HTML

<input type="text" class="search-query" ng-model="search.attributes.name" />
<select ui-select2 id="select2" data-placeholder="Type" ng-model="search.attributes.address.0.city" class="form-control">
        <option value=""></option>
        <option ng-repeat="type in types" value="{{type}}">{{type}}</option>
</select>

<tr ng-repeat="resource in resources | filter:search | limitTo: 10">

出于某种原因,在这种情况下,根本没有数据显示出来。虽然当我完全删除select框时,它会全部填充,但是当我在搜索框中输入内容时,没有任何内容显示(就像过滤器过滤掉了所有内容一样。)

1 个答案:

答案 0 :(得分:0)

似乎search.attributes.name未作为''启动,而是undefined启动。因此,过滤器不会默认允许任何,但默认只允许undefined通过,这是没有。

所以答案是将它添加到我的控制器中:

$scope.search = {};
$scope.attributes.name = '';
$scope.attributes.address.0.city = '';