0
<div class="alert alert-warning" ng-hide="badges.length">      
    <strong>Empty!</strong> This Micro_organization has No badges.
</div>
<ul> 
  <li ng-repeat="badge in badges">{{ badge.title }}</li>
</ul>

即使徽章不为空,该消息也会Empty! This Micro_organization has No badges.出现一段时间。

是否有任何解决方案使消息仅在徽章为空时才显示?

4

2 回答 2

1

如果您使用 ajax 请求来获取数据,那么badges直到undefinedajax 调用返回数据。

直到接收到的数据badges.length将保留undefined然后ng-hide="badges.length"才会导致某些ng-hide="false"情况,这可能是部分显示 div 的情况

- 解决方案 -

如果您$scope.badge在获得resource 数据之前声明,请删除该声明。$scope.badge仅在resource调用后声明。并使用

 <div class="alert alert-warning" ng-hide="badges.length != 0">..

普朗克

于 2015-01-21T05:09:26.153 回答
0

badges加载之前,变量是未定义的。ng-hide您可以通过更改表达式以确保badges存在来解决此问题。

ng-hide="!badges || badges.length"
于 2015-01-21T05:12:53.017 回答