angularでjqueryファイルのアップロードを使用していますが、うまく機能します。fileuploadchange に独自のコールバックを追加したので、ユーザーが別のファイルを選択すると、コールバックが発生します。アップロードフォームはオーバーレイにあり、ユーザーが完了すると閉じます。ユーザーが別の画像をアップロードしたい場合 (ここでフォームを使用します)、fileuploadchange はエラーを報告します。
TypeError: data.scope is not a function
var scope = data.scope();
参照している行
add: function (e, data) {
if (e.isDefaultPrevented()) {
return false;
}
var scope = data.scope(); <----------------------------------
data.process(function () {
return scope.process(data);
}).always(
なぜこのエラーが発生するのかわかりません。データ変数を console.log すると、2 回目は .scope() がありませんが、理由がわかりません。
誰か提案がありますか?前もって感謝します!
- 追加情報 - -
コントローラーはng-viewに設定されています
<form id="fileupload" action="/api/profile/picture" method="POST" enctype="multipart/form-data" data-ng-controller="DemoFileUploadController" data-file-upload="options" data-ng-class="{'fileupload-processing': processing() || loadingFiles}" class="avatar">
そしてコントローラには次のオプションがあります
$scope.options = {
url: '/api/userprofile/' + $rootScope.User.UserId + '/avatar/',
type: 'POST'
};
ディレクティブは、blueimp によって提供された、github にあるものの正確なコピーです。