4

これはこの質問の複製ではありません

ビューに必要なすべてのファイルを含めました。

<script src="~/Scripts/angular-file-upload-master/examples/console-sham.min.js"></script>
<script src="~/Content/js/angular.js"></script>
<script src="~/Scripts/angular-file-upload-master/angular-file-upload.js"></script>

私のモジュールとコントローラー:

var controllers = angular.module('controllers', ['ngGrid', 'ngDialog', 'angularFileUpload']);

controllers.controller('CustomProductsCtrl', 
 ['$scope', '$window', 'ngDialog', 'CommonService', 
   'CustomProductsServices', '$upload', 
 function ($scope, $window, ngDialog, CommonService, 
   CustomProductsServices, $upload){

});

しかし、それでもこのエラーが発生します。

エラー: [$injector:unpr] 不明なプロバイダー: $uploadProvider

私を助けてください。

4

3 に答える 3

2

controller宣言を正しく閉じていないようです。

具体的には、次の場合があります。代わりに});必要な場合。}]);欠落に注意してください]


コンテキストでは、次のものが必要です。

var controllers = angular.module('controllers', ['ngGrid', 'ngDialog', 'angularFileUpload']);

controllers.controller('CustomProductsCtrl', 
 ['$scope', '$window', 'ngDialog', 'CommonService', 
   'CustomProductsServices', '$upload', 
 function ($scope, $window, ngDialog, CommonService, 
   CustomProductsServices, $upload){

}]);  // Note: missing ']' added in here

controller を宣言する形式に従う必要があるためです。コントローラー APIは簡潔ですが、非常に簡潔です。

$controller(constructor, locals);

あなたのケースに拡大したもの:

module_name.controller( 'your_Ctrl', 
    [locals, function(){ 
        } 
    ] 
);

欠落]している要素を呼び出し、宣言内の要素をどのように閉じているかを示すために、余分なスペースを追加しました。

于 2015-01-14T22:03:20.510 に答える
0

このエラーは ng-file-upload バージョンに依存する可能性があるようです:

https://github.com/danialfarid/ng-file-upload/issues/45

そのページとこのページの提案を試してもエラーが発生する場合は、次の方法でうまくいきました。

angular.module('starter.controllers', ['ngFileUpload'])
.controller('HomeCtrl', function($scope, ... Upload) {
   ...
   file.upload = Upload.upload({...}); //Upload instead of $upload
   ...
})
于 2016-09-01T12:16:02.630 に答える