2016-08-12 101 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

相關問題