我有一个列表,你可以下拉刷新。此事件在处理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中工作正常。有没有人知道问题可能是什么?
答案 0 :(得分:4)
1.1.4目前需要在$http.get
中执行$scope.$apply
(不知道这是一个错误)。
由于ng-click
为你做$scope.apply
,因此在你的指令中你必须这样做。
AFAIK范围。$ eval不会触发$ digest,因此请尝试$scope.$apply(attrs.pulldown)
;