我正在使用这个控件:http ://blueimp.github.io/jQuery-File-Upload/angularjs.html以角度进行文件上传,一旦文件上传到我的服务器,我返回一个 url 并希望显示它成功回调的客户端。正在使用的插件只是一个普通的 jquery 文件上传,但我正在使用一个 angular 指令包装器。
这是我定义回调的方式:
$scope.options = {
url: '/api/Client/',
type: 'PUT',
done: function (event, data) {
var scope = angular.element(this).scope();
scope.test = "doesn't work";
scope.$apply(function () {
scope.test = "this doesn't work either";
});
}
};
文件上传正常,并且调用了 done 函数但是我无法更新视图。我最初只是尝试更改范围,然后我意识到我需要 $apply() 函数,但这也不起作用。
我也试过
$scope.options = {
url: '/api/Client/',
type: 'PUT',
done: function (event, data) {
$scope.test = "doesn't work";
$scope.$apply(function () {
$scope.test = "this doesn't work either";
});
}
};
这也行不通。我不确定它为什么不更新我的视图,并且由于 done 调用只是一个 ajax 成功事件,我看不出这个特定插件如何导致 $scope.$apply 出现任何问题。我正在使用 AngularJs 1.1.5,但我也尝试过 1.0.7 并且遇到了同样的问题。