如何在angularjs中重新加载数据?

时间:2017-01-26 14:03:19

标签: javascript jquery angularjs

这是我的问题:我正在使用nw.js和angularjs来编写桌面应用程序。我想实现上传以加载更多数据。

我使用jquery来监控上拉事件,并更新输入。

HTML:

<input id="zs-scroll-input" ng-change="inputChange()" ng-model="scrollToBottom">

JS:

$(document).ready(function (){
var nScrollHight = 0; 
var nScrollTop = 0;  
var nDivHight = $("#chat-window").height();
var count = 0;
$("#chat-window").scroll(function(){
    nScrollHight = $(this)[0].scrollHeight;
    nScrollTop = $(this)[0].scrollTop;
    if(nScrollTop + nDivHight >= nScrollHight)
    {
        count+=1;
        $("#zs-scroll-input").val(count);
    }
});
});

我尝试使用ng-change监视输入更改,因此我可以在我的控制器中加载更多数据。似乎我手动更改输入,ng-change将是触发器。但是通过jquery更改它不是工作

有没有人知道如何解决这个问题? 或者在angularjs中向上滚动加载的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用$ watch()来监控更改。

scope.$watch('scrollToBottom', function(newValue, oldValue) {
  //do your work on change if newValue is different than oldvalue
  inputChange() // or something else
});

您可以在控制器中编写此函数,该控制器将用作document.ready。

然后你可以改变angularjs中的值

$scope.scrollToBottom = count;