私はこのコントロールを使用しています: 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 も試してみましたが、同じ問題が発生しています。