2015-07-10 63 views
3

我有一個NG重複中包含郝曉紅,發現長度

HTML

<li ng-repeat="article_data in articles | ArticleFilter:sfilter"> 
    {{article_data.article_title}} 
</li> 

的Javascript

ey.filter('ArticleFilter', function(){ 

return function(items, filters){ 

    var arrayToReturn = []; 
    if(value.article_title.toLowerCase().indexOf(filters.search_text.toLowerCase())==0) 
    arrayToReturn.push(value); 

return arrayToReturn; 
}}) 

我需要檢查結果是否爲空,並顯示一條消息。是否可以做?我試過{{articles.length}},但這不是過濾結果的長度。

+0

什麼是'價值'?在你的過濾器? – ryeballar

回答

1

嘗試這樣的事情,

<li ng-repeat="article_data in articles | ArticleFilter:sfilter as filteredResults"> 
    {{article_data.article_title}} 
</li> 

{{ filteredResults.length }} 

所以你可以有這樣的代碼,

<ul> 
    <li ng-repeat="article_data in articles | ArticleFilter:sfilter as filteredResults"> 
     {{article_data.article_title}} 
    </li> 
</ul> 

<p ng-if='filteredResults.length === 0'> No results.</p> 

另一種方式

<li ng-repeat="article_data in filteredResults = (articles | ArticleFilter:sfilter)"> 
     {{article_data.article_title}} 
</li> 

<ul> 
    <li ng-repeat="article_data in filteredResults = (articles | ArticleFilter:sfilter)"> 
     {{article_data.article_title}} 
    </li> 
</ul> 

<p ng-if='filteredResults.length === 0'> No results.</p> 

普拉克http://plnkr.co/edit/01JZZzBBOSfrpcM4dbVR?p=preview

類似的問題,與另一個演示:How to display length of filtered ng-repeat data

+0

這個過濾器能工作嗎?因爲您在'ng-if'之前檢查條件並稍後在'filteredResults'數組中指定值?我非常想知道這件事。 – Vineet

+0

只要刪除'ng-if'就可以解決它。謝謝:) –

+0

獲取錯誤語法錯誤:令牌'as'是表達式[articles | ArticleFilter:sfilter as filteredResults]從 – Shin