2015-01-21 92 views
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.也会显示一段时间。ng-hide元素会显示一段时间,然后隐藏?

是否有解决方案,以便消息只显示徽章是空的?

+0

如何使用ajax调用为'badge'获取数据? – 2015-01-21 05:06:06

+0

你可能想看看['ngCloak'](https://docs.angularjs.org/api/ng/directive/ngCloak)。 – 2015-01-21 05:07:04

+0

@ K.Toress是的..有些东西像'$ resource('/ ng/badges /');' – suhailvs 2015-01-21 05:07:09

回答

1

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

,直到数据接收badges.length将保持undefined然后再ng-hide="badges.length"将导致东西,如果你声明$scope.badge u得到前ng-hide="false"这就是可能的部分apearing股利

--solution--

的情况下resource数据删除该声明。仅在resource呼叫后声明$scope.badge。并使用

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

Plunker

+0

'ng-hide =“badges.length!= 0”'解决了问题...谢谢..我不知道如何, – suhailvs 2015-01-21 05:24:01

0

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

ng-hide="!badges || badges.length"