如何用angularjs实现上拉刷新?

我用nw.js 和angularjs开发一款桌面程序。
现在想实现上拉刷新功能。
我的做法是先利用jQuery的一个插件来监控上拉到底的事件,然后更新一个input的值,通过ng-change来监视这个input值,进而在controller里面响应。
代码如下

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);
    }
});
});

问题是,每次页面下拉到底端的时候,input的值都会发生改变,但是不会触发ng-change。但是我手动更改input的值就可以触发ng-change时间。令我是用了$scope.$watch也是一样。

不知道正确的做法是怎样的?

阅读 3.8k
2 个回答

你要把jq的插件封装成directive啊,否则脱离ng的管束,它是不会鸟你的。

这个貌似有专门的ng插件的,不用jq

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题