Javascript “我的加载更多”功能在单击按钮时起作用,但它没有';我不喜欢滚动

Javascript “我的加载更多”功能在单击按钮时起作用,但它没有';我不喜欢滚动,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,下面的代码适用于单击按钮的ng: $scope.loadMore = function() { var container = $('ul.notification-popup-scroll'); $scope.totalDisplayed += 4; $scope.notifications = notifications.data.notification; }); 但是,如果我尝试这样做,scope变量没有效果 $('ul.noti

下面的代码适用于单击按钮的
ng

$scope.loadMore = function() {
    var container = $('ul.notification-popup-scroll');                
    $scope.totalDisplayed += 4;
    $scope.notifications = notifications.data.notification;
});
但是,如果我尝试这样做,scope变量没有效果

$('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请求。

请尝试以下方法:

$scope.$apply(function () {
    $scope.totalDisplayed += 4;
    $scope.notifications = notifications.data.notification;
});

$scope.$apply
告诉angular某些内容已更改。

已更新

使用指令

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

<body in-view-container>

   <!-- your items rendered here -->

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


My IDE说$apply是一个未解析的函数名:-(我可以试试$scope.apply吗?好的,这很有效,但我刚刚意识到我每次都在检查scrollTop是否>500。当滚动条到达底部时,我如何加载更多?我试图阅读有关inview的内容,但无法理解它在我的上下文中是如何工作的。你能用初学者的术语向我解释一下吗?非常简单,在y中包含“angular inview”模块我们的应用程序,并添加'在视图容器'的身体标签(或您的滚动容器),就是这样。