Angular js过滤器查询 - 如果未找到匹配项,则显示一个值

时间:2015-12-13 02:57:27

标签: angularjs ionic-framework

我设置了查询过滤器

和设置过滤器

我以国家为例。它可能是任何东西,包括城市,名字,动物等。这就是我想要做的。我使用此过滤器从一个非常大的数组中选择一个项目(5000 +记录)如果我的查询过滤器没有找到匹配项,我想显示“未找到/其他”作为选择之一。我该怎么办呢?我不想将此值设置为默认值。但只有在找不到其他任何内容时才显示。

1 个答案:

答案 0 :(得分:1)

当查询返回不匹配项时,您可以使用ng-show指令显示所需的选项。

<强> HTML

 <div ng-controller="MyCtrl">
  <input ng-model="country"/><br>
  <ul>
    <li ng-repeat="c in filteredCountries = (countries | filter:country)">{{c.name}}</li>
    <li ng-show="!filteredCountries.length">Not Found / Other</li> 
  </ul>
</div>

<强> JS

function MyCtrl($scope) {

  $scope.countries = [
    {name:'US'},
    {name:'UK'},
    {name:'Brazil'},
    {name:'Chile'},
    {name:'India'}
  ];

}

这是一个有效的Plunkr