2015-04-09 3 views
1

Я пытаюсь загрузить файл с прогресс бар, но не получаю 2 ошибки постоянно, независимо от того, что я делаю

1) модуль не определен и второй является [$ инжектор: nomod] недоступен.

http://jsfiddle.net/3m75wqt1/

это мой контроллер

PageController.js

var PageController = function ($scope, fileUpload) { 
angular.module('app', ['ngProgress']) 
angular.module('app') 
.controller('PageController', function ($scope) { 
    //$scope.fileUpload = {}; 
}); 
PageController.$inject = ['$scope','ngProgress']; 

};

Я много искал, но не смог найти ошибку. любая помощь будет оценена ... Заранее спасибо

+3

Это я или это странно, что модуль находится внутри контроллера? – Nano

+0

@Nancy Почему у вас есть несколько модулей? – Jai

+0

@Nano Я новичок в angularjs .. Пожалуйста, помогите мне, если я ошибаюсь – Nancy

ответ

2

Сначала на всех методе модуля Шоуда нельзя назвать внутри контроллера, так что:

var PageController = function ($scope, fileUpload) { 
    angular.module('app', ['ngProgress']) 
    angular.module('app') 
     .controller('PageController', function ($scope) {//I will replace this with PageController 
      //$scope.fileUpload = {}; 
     }); 
    PageController.$inject = ['$scope', 'ngProgress']; 
}; 

Шоуда выглядеть следующим образом:

var PageController = function ($scope, fileUpload) { 
}; 
PageController.$inject = ['$scope', 'ngProgress']; 
angular.module('app', ['ngProgress']) 
angular.module('app').controller('PageController', PageController); 

я извлекал функции в методе контроллера и поставить определенные PageController на своем месте

Вторая вещь в том, что вам не нужно вызывать метод модуль дважды, первый один уже возврата модуля, так что лучший подход Шоуда выглядеть следующим образом:

var PageController = function ($scope, fileUpload) { 
}; 
PageController.$inject = ['$scope', 'ngProgress']; 
angular.module('app', ['ngProgress']).controller('PageController', PageController); 

И я Personaly как нотации массива дополнительной чем это, поэтому мой любимый был бы таким, но это зависит от вас:

angular.module('app', [ 
    'ngProgress'//this is a module dependency (its also createt with angular.module) 
]).controller('PageController', [ 
    '$scope', 
    'fileUpload',//this is a dependency for the controller (probably a service) 
    function ($scope, fileUpload) { 
    } 
]); 
Смежные вопросы