Angular 1.1.4中的$ http请求

时间:2013-04-26 08:14:20

标签: angularjs httprequest angularjs-directive

我有一个列表,你可以下拉刷新。此事件在处理pullable列表检测的指令内触发,该元素如下所示。

<div class="pull-to-refresh" pulldown="update()">
    //The list goes here
</div>

所以在指令中,我检测到下拉运动(带有iscroll),当释放时我调用函数:

function pullDownAction(){
    scope.$eval(attr.pulldown);
}

控制器中的update()函数如下所示:

$scope.update = function () {
    $http.get('/myurl/')
        .success(function(data){
            $scope.model = data;
        });
};

从角度1.1.1更新到1.1.4后,请求不再生成。调用该函数,但不会发出请求。但是,我可以直接从视图调用update()函数,它可以正常工作,如下所示:

<button ng-click="update()">Click to update</button>

但是,当从指令调用时,它会进入函数,但不会发出请求。我查看了更改日志,但没有找到任何可能导致此行为的内容,并且它在角度1.1.1中工作正常。有没有人知道问题可能是什么?

1 个答案:

答案 0 :(得分:4)

1.1.4目前需要在$http.get中执行$scope.$apply(不知道这是一个错误)。 由于ng-click为你做$scope.apply,因此在你的指令中你必须这样做。 AFAIK范围。$ eval不会触发$ digest,因此请尝试$scope.$apply(attrs.pulldown);