私はこのコントロールを使用しています:http://blueimp.github.io/jQuery-File-Upload/angularjs.htmlファイルをアップロードするには角度をつけてください。ファイルがサーバーにアップロードされると、URLが返され、クライアントに表示されます。成功コールバック。使用されているプラグインは通常のjqueryファイルのアップロードですが、私が使用しているアンギュラ・ディレクティブ・ラッパーがあります。
$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";
});
}
};
ファイルが正常にアップロードし、行って関数が呼び出されたが、しかし私は、ビューを更新することができません:ここで
は、私は、コールバックを定義する方法です。最初は範囲を変更するだけで試しましたが、$ 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";
});
}
};
も機能しないことを試してみました。私はなぜ私のビューを更新していないのか分かりませんし、完了した呼び出しがちょうどajaxの成功イベントであるため、この特定のプラグインが$ scopeの問題を引き起こす可能性があります。私はAngularJs 1.1.5を使用していますが、1.0.7も試してみましたが、同じ問題が発生しています。
applyをコールすると、apply/digestがすでに有効であるというエラーが表示されますか? –
いいえ、間違いなしです。それは何もしません。私が複数回それを呼び出して$ scope.testの値を見ると、以前に設定された値が表示されます。ビューはその値で更新されません –
done関数が呼び出されると、2番目のバージョンは実際には私にはうまくいくように見えます。 –