javascript - 找到过滤结果 Angular js的长度

标签 javascript angularjs

我有一个带有 fliter 的 ng-repeat,如下所示,

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}} 但这不是过滤结果的长度。

最佳答案

尝试这样的事情,

<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>

PLUNK:http://plnkr.co/edit/01JZZzBBOSfrpcM4dbVR?p=preview

类似的问题,还有另一个演示:How to display length of filtered ng-repeat data

关于javascript - 找到过滤结果 Angular js的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31332753/

相关文章:

javascript - ngDialog 无法与 ng-click 一起使用

javascript - 最高效的阵列洗牌器

javascript - 如何将 AngularJS 应用程序连接到 Kinvey?

javascript - AngularJS UI-router 无法使用动态引用加载第二个页面 View

javascript 可编辑表格无法正常工作

javascript - 光泽热图 Highcharts

javascript - AngularJs 作用域变量 window.open

javascript - 在不使用 ng-bind-html 的情况下在范围变量中绑定(bind) html 内容

javascript - Angular 简单单页应用程序 - 未知提供商 : $routeProvider

javascript - JSF setPropertyActionListener 设置 javascript 整数值