2016-08-12 102 views
0

如果过滤器没有找到任何东西,我有一个表格过滤器,并且不显示结果。
总之必要的代码:如果结果为0,则显示消息

<th>Keys 
<input ng-model="k" id="search" class="form-control" placeholder="Suche..."> 
      </th> 
<tr dir-paginate="v in result = ($ctrl.langV | filter:{Name:k}) | orderBy : 'Name' |itemsPerPage: 10"> 
      <td class="td-keys">{{v.Name}} 
      </td> 
      <td ng-if="result.length === 0">Keine Ergebnisse</td> 

我发现媒体链接在这里举几个例子:

<td ng-show="result.length">Keine Ergebnisse</td> 

是显示我额外的TD,因为结果被发现。但没有结果的相反情况永远不会起作用。 Thx for Solutions :)

回答

0

在你提到的三个例子,他们正在外面的NG-重复显示无结果消息。您在 ng-repeat内显示无结果消息。尝试从ng-repeat的范围以外看看它是否有效。

+0

表之外它正在工作。但是请按照底部的https://docs.angularjs.org/api/ng/directive/ng重复示例进行操作。它不应该是一个问题或?如果在List重复中还有ng? 那么你的解决方案会在这里? – AkAk47

+0

该示例在'ng-repeat'范围内也没有结果消息_outside_。 –

+0

啊,好吧,明白了。在$ ctrl.langV | filter:{Name:k} | orderBy:'Name'| itemsPerPage:10作为结果“> 中更改为 ' Keine Ergebnisse ' Works now and Answer Accepted。 – AkAk47

2

为什么你不使用这个...当no results,这将显示。

<td ng-if="!result.length">Keine Ergebnisse</td> 
+0

尝试而不是工作:) – AkAk47

+0

@ AkAk47:那么你的结果应该有一些对象...当你在你的视图{{result}}中尝试这个时,它会给你什么,当没有结果时 – Thalaivar

+0

如果我去显示所有的对象。'{td ng-if ='result.length'> {{result}} Keine Ergebnisse'用!result.length不再输出。您的控制器中的 – AkAk47

0

首先,你必须给一个别名“结果”,像filteredItems,如下:

<tr dir-paginate="v in $ctrl.langV | filter: { Name: k } | orderBy : 'Name' | itemsPerPage: 10 as filteredItems"> 

然后,您可以使用它:

<td ng-if="!filteredItems.length">No results</td> 
+0

尝试不工作 – AkAk47

相关问题