我的加载更多功能正在按钮单击,但它不适用于滚动

时间:2016-02-29 12:55:37

标签: javascript jquery angularjs

以下代码适用于按钮的ng-click

$scope.loadMore = function() {
    var container = $('ul.notification-popup-scroll');                
    $scope.totalDisplayed += 4;
    $scope.notifications = notifications.data.notification;
});

但是如果我尝试做这样的事情,范围变量就没有效果了。

$('ul.notification-popup-scroll').scroll(function() {
    var container = $('ul.notification-popup-scroll');
    if (container.scrollTop() > 500) {
        $scope.totalDisplayed += 4;
        $scope.notifications = notifications.data.notification;
    }
});

我试图让无限滚动工作,但我只是想从已经获取的对象加载数据。我不是每次都在做http请求。

2 个答案:

答案 0 :(得分:1)

<强>已更新

使用angular-inview指令。

我认为这是最适合您的解决方案:

<body in-view-container>

   <!-- your items rendered here -->

   <div in-view="$inview && loadMore()"></div>
</body>

答案 1 :(得分:0)

尝试这种方式:

xor

$scope.$apply(function () { $scope.totalDisplayed += 4; $scope.notifications = notifications.data.notification; }); 告诉角色有些事情发生了变化。