angularjs 有时数据不更新

时间:2026-02-14 08:01:25

1、我们先看一下 angularjs 的scope

Scope提供$watch方法监视Model的变化。Scope提供$apply方法传播Model的变化。

平常都是自动更新,为什么还需要 $apply方法?

实际上几乎我们所有的代码都包在scope.apply()里面,像ng−click,controller的初始化,http的回调函数等。在这些情况下,我们不需要自己调用,实际上我们也不能自己调用,否则在apply()方法里面再调用apply()方法会抛出错误。

2、那我们到底什么时候需要去调用apply()方法呢?情况非常少,

如果我们需要在一个新的执行序列中运行代码时才真正需要用到它,而且当且仅当这个新的执行序列不是被angular JS的库的方法创建的,这个时候我们需要将代码用scope.apply()包起来

3、$window.onscroll = function () {

                   $scope.$apply(function(){

                    $scope.pageNo ++;

                });     

        }

$window.onscroll = function () {               

                    $scope.pageNo ++;

                    $scope.$apply();

        }

© 2026 途途旅游
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com