angularjs – ng-repeat – 显示数组为空或为空的内容

我有一个深度嵌套的重复列表,只有在最后一个循环中,如果列表为空,我必须显示备用内容.我是新来的角度,看到一些在线的帖子请帮助我哪里可以使用内容,如果列表是空的. ng-repeat =当天的会话可能为空.
<ul class="day">
        <li ng-repeat="sessions in day">
            <ul class="table-view">
                <li class="table-view-cell" ng-repeat="(heading,session) in sessions">
                    <span class="group">{{heading}}</span>
                    <ul class="cell">
                        <li class="cell-content" ng-repeat="val in session" ng-click="getSession(val.id)">
                            <div class="time" style="background-color:#{{val.color}}">
                                <span>{{val.start | date:"h:mma"}}</span>
                                <span>to</span>
                                <span>{{val.end | date:"h:mma"}}</span>
                            </div>
                            <div class="session" ng-class-odd="'odd'" ng-class-even="'even'">
                                <span class="name">{{val.name}}</span>
                                <span class="room">Room: {{val.room}}</span>
                            </div>
                        </li>
                    </ul>
                </li>
            </ul>
        </li>
    </ul>
1). CSS方法在这种情况下,我通常使用纯CSS方法.使用此标记(stripped extra-html):
<ul class="day">
    <li ng-repeat="sessions in day">
        ...
    </li>
    <li class="no-sessions">
        No sessions on this day.
    </li>
</ul>

和CSS规则认隐藏.no-sessions li,并使其仅在没有以前的li标签时可见:

li.no-sessions {
    display: block;
}
li + li.no-sessions {
    display: none;
}

所以当会话数组为空时,将不会显示任何代码,只有没有会话可见.如果在这一天至少有一个会话就会隐藏.

演示:http://plnkr.co/edit/KqM9hfgTTiPlkdmEevDv?p=preview

2). ngIf方法.当会话数组为空时,您可以使用ngIf / ngShow指令来显示无记录元素:

<li ng-if="!day.length">
    No sessions on this day.
</li>

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...