4

プロジェクトにファイルアップロード機能を追加するために ng-file-upload ディレクティブ ( https://github.com/danialfarid/ng-file-upload )を使用しようとしていますが、このエラーが発生し続けます:

Error: [$injector:unpr] http://errors.angularjs.org/1.4.6/$injector/unpr?p0=UploadProvider%20%3C-%20Upload%20%3C-%20ExperimentController
at Error (native)
at http://localhost:8000/static/editor/js/angular.min.js:6:416
at http://localhost:8000/static/editor/js/angular.min.js:40:409
at Object.d [as get] (http://localhost:8000/static/editor/js/angular.min.js:38:394)
at http://localhost:8000/static/editor/js/angular.min.js:40:483
at d (http://localhost:8000/static/editor/js/angular.min.js:38:394)
at e (http://localhost:8000/static/editor/js/angular.min.js:39:161)
at Object.instantiate (http://localhost:8000/static/editor/js/angular.min.js:39:310)
at http://localhost:8000/static/editor/js/angular.min.js:80:313
at A.link (http://localhost:8000/static/editor/js/angular-route.min.js:7:268) <div ng-view="" ng-show="main.results==null" class="ng-scope">

index.html に正しいファイルを含めています。

<script src="/static/editor/js/angular.min.js"></script>
<script src="/static/editor/js/ng-file-upload-shim.js"></script>
<script src="/static/editor/js/ng-file-upload.js"></script>

私はそれを私のモジュールとして宣言しています:

(function() {
    angular
        .module('myApp', [
            'ngRoute',
            'ngAnimate',
            'ngCookies',
            'ngFileUpload'
    ]);
})();

しかし、コントローラーに挿入しようとすると、上記のエラーがスローされます。

(function() {
    angular
        .module('myApp')
        .controller('myController', myController);

    myController.$inject = ['$routeParams',
        '$compile',
        '$scope',
        '$interval',
        'Upload'];


function myController($routeParams,
    $compile,
    $scope,
    $interval,
    Upload) {
....

Angular 1.4.6 と ng-file-upload 9.0.14 を使用しています。ファイルを手動でダウンロードし、指定された .js ファイルをプロジェクト ディレクトリに含めました。不足しているbowerまたはnpmを介して含まれている追加の依存関係がいくつかあるのでしょうか?

どんな助けでも大歓迎です!

更新: AngularJS 1.4.6 ( https://angular-file-upload.appspot.com/#/1.4.6 ) で ng-file-upload ディレクティブのライブ デモ ページを表示すると、多数のエラーが発生するため、これは単なる問題である可能性があります。 1.4.6 および ng-file-upload の最新バージョンとの非互換性。

4

1 に答える 1

1

"Upload" という未知のサービスを注入しようとしています。ng-file-upload のアップロード サービスを意味する場合は、"Upload" の代わりに "ngFileUpload" を注入する必要があります。

  myController.$inject = ['$routeParams',
        '$compile',
        '$scope',
        '$interval',
        'ngFileUpload'];

function myController($routeParams,
    $compile,
    $scope,
    $interval,
    ngFileUpload) {
....
于 2015-10-19T18:21:47.683 に答える