我正在尝试使用进度条上传文件,但无论我做什么都会不断收到2个错误
1)模块未定义,第2个是[$ injector:nomod]模块不可用。
这是我的控制器
PageController.js
var PageController = function ($scope, fileUpload ) {
angular.module('app', ['ngProgress'])
angular.module('app')
.controller('PageController', function ($scope) {
//$scope.fileUpload = {};
});
PageController.$inject = ['$scope','ngProgress'];
};
我做了很多搜索,但无法找到错误。 任何帮助将不胜感激...提前致谢
答案 0 :(得分: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);
我个人喜欢数组符号,所以我最喜欢的就是这样,但这取决于你:
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) {
}
]);