重复处理空列表案例

我认为这将是一件非常常见的事情,但我无法在AngularJS中找到如何处理它。 假设我有一个事件列表并希望用AngularJS输出它们,那么这很简单:

<ul>
    <li ng-repeat="event in events">{{event.title}}</li>
</ul>

但是,如果列表为空,我该如何处理这种情况呢? 我希望有一个消息框,其中的列表与“没有事件”或类似的东西。 唯一会接近的是带有events.lengthng-switch (如何检查是否为空而不是数组?),但是这是我真正唯一的选择吗?


你可以使用ngShow。

<li ng-show="!events.length">No events</li>

看例子。

或者你可以使用ngHide

<li ng-hide="events.length">No events</li>

看例子。

对于你可以测试Object.keys的对象。


如果你想使用这个过滤列表这是一个巧妙的技巧:

<ul>
    <li ng-repeat="item in filteredItems  = (items | filter:keyword)">
        ...
    </li>
</ul>
<div ng-hide="filteredItems.length">No items found</div>

您可能想要查看angular-ui指令ui-if如果您只是想在列表为空时从DOM中删除ul

<ul ui-if="!!events.length">
    <li ng-repeat="event in events">{{event.title}}</li>
</ul>
链接地址: http://www.djcxy.com/p/68583.html

上一篇: repeat handle empty list case

下一篇: parse float with two decimal places