我是Angular JS的新手。我按如下方式创建了工厂。
angular.module('login',[])
.factory('authFactory',[function(){
// logic
}] );
已注入控制器,但它给了我一个错误。
我还在index.html中提供了这个工厂文件,但错误是一样的。
[$ injector:unpr]未知提供者:authFactoryProvider< - authFactory
我该怎么做才能避免这种情况?
下面是我注入的代码。
(function () {
'use strict';
angular.module('login', []).controller("LoginController", loginController)
loginController.$inject = ['$cookies', '$log', '$scope', '$rootScope', '$q', '$location', '$timeout', '$window',authFactory];
function loginController($cookies, $log, $scope, $rootScope, $q, $location, $timeout, $window,authFactory) {
答案 0 :(得分:1)
loginController.$inject = ['$cookies', '$log', '$scope',
'$rootScope', '$q', '$location', '$timeout', '$window', 'authFactory'];
不要两次创建模块:
angular.module('login', [])
.factory('authFactory',[function(){
// logic
}] )
angular.module('login').controller("LoginController", loginController)
答案 1 :(得分:0)
不要使用模块两次,以此为例进行编码
(function () {
'use strict';
var login = angular.module('login',[]);
login.factory('authFactory',[function(){
// logic
return {
}
}]);
login.controller("LoginController", loginController);
loginController.$inject = ['$log', '$scope', '$rootScope', '$q', '$location', '$timeout', '$window','authFactory'];
function loginController($log, $scope, $rootScope, $q, $location, $timeout, $window,authFactory) {
}
})();
由于你是棱角分明的新手,我建议你浏览一下非常好的YouTube视频
https://www.youtube.com/watch?v=FDhGmFul4YU&index=2&list=PLvZkOAgBYrsS_ugyamsNpCgLSmtIXZGiz