【发布时间】:2014-09-22 20:54:20
【问题描述】:
我试图在无限滚动加载更多列表项时显示加载块,并且第一次可以,但以下内容不起作用。当“$scope.isLoading = true;”该块不可见。
HTML
<ons-scroller infinit-scroll-enable="true" on-scrolled="getNextItems()" threshold="20" style="height:100%">
<ons-list-item ng-repeat="i in items" modifier="tappable chevron">{{i.name}}</ons-list-item>
<ons-list-item ng-show="isLoading"> LOADING </ons-list-item>
</ons-scroller>
JAVASCRIPT
$scope.getNextItems = function(){
if($scope.isLoading) return;
$scope.isLoading = true;
setTimeout(function(){
$scope.$apply(function(){
addItems($scope.items);
$scope.isLoading = false;
});
},3000);
};
这是解决问题的方法。
我尝试了不同的方法来做到这一点,但结果总是一样。
提前致谢!!
@rohan 回答问题时使用 $timeout 解决了,我想要的行为是这样的:
http://jsfiddle.net/hasukronos/mh6roxsk/1/
但我忘了说真正的问题发生在 WebSQL api 回调上,它与本机 setTimeout 有相同的问题。
【问题讨论】:
标签: angularjs onsen-ui angularjs-ng-show