当搜索字符串数组为空时,在ng-repeat中显示消息

时间:2016-10-07 05:45:27

标签: angularjs

<ul class="data-ctrl mCustomScrollbar" id="scrollbar" data-mcs-theme="minimal-dark dark123" data-ng-init="initScrollBar()">
                    <li data-ng-repeat="i in items | searchFor:searchString | limitTo:limit" >
                        <p><a data-ng-href="{{i.link}}" class="search-link">{{i.title}}</a></p>
                        <p>{{i.description}}</p>
                        <p><a class="small" data-ng-href="{{i.link}}">{{i.link}}</a></p>        
                <li data-ng-repeat-empty >No Records Found</li>     
                    </li>

                </ul>

我正在使用上面的代码向用户提供搜索选项。当我尝试使用data-ng-repeat-empty从我的json db文件中搜索字符串为空时,显示没有找到记录的消息,但问题是&# 39;没有找到记录&#39;显示两个案例,如找到记录和未找到记录。

2 个答案:

答案 0 :(得分:0)

您可以使用 items.length ng-if

检查ng-show

并将您的信息放在ng-repeat

旁边
<ul>
    <li data-ng-repeat="i in items | searchFor:searchString | limitTo:limit" >
       <p><a data-ng-href="{{i.link}}" class="search-link">{{i.title}}</a></p>
       <p>{{i.description}}</p>
       <p><a class="small" data-ng-href="{{i.link}}">{{i.link}}</a></p>        
    </li>
    <li ng-if="!items.length">No Records Found</li> 
</ul>

答案 1 :(得分:0)

将过滤器数据存储在变量中,然后检查它将起作用的变量的长度。

<ul>
    <li data-ng-repeat="i in filterItem = (items | searchFor:searchString | limitTo:limit)" >
       <p><a data-ng-href="{{i.link}}" class="search-link">{{i.title}}</a></p>
       <p>{{i.description}}</p>
       <p><a class="small" data-ng-href="{{i.link}}">{{i.link}}</a></p>        
    </li>
    <li ng-if="!filterItem.length">No Records Found</li> 
</ul>