我的主要控制器
var MyApp = angular.module('ionicApp', ['ionic', 'MobiNav', 'authFactory']);
控制器消耗工厂
MyApp.controller('AuthUser', ['$scope', 'authFactoryService', function ($scope, authFactoryService) {
$scope.showForm = true;
$scope.UserDataLogin = function () {
var loginData = {};
$scope.registration = {
userName: $scope.Auth.userName,
password: $scope.Auth.password,
confirmPassword: $scope.Auth.password
};
authFactoryService.SaveRegistration(registration);
window.scope = loginData;
};
}
]
);
这是单独文件中的工厂
var AuthService = angular.module('authFactory', []);
AuthService.factory('authFactoryService', [
'$http', '$q', '$scope', function ($http, $q, $scope) {
return {
SaveRegistration: function() {
var urlBase = 'http://localhost:48868/';
$http.post(urlBase + 'api/account/register', registration).then(function(response) {
$scope.savedSuccessfully = true;
$scope.message = "User has been registered successfully, you will be redicted to login page in 2 seconds.";
},
function(response) {
var errors = [];
for (var key in response.data.modelState) {
for (var i = 0; i < response.data.modelState[key].length; i++) {
errors.push(response.data.modelState[key][i]);
}
}
$scope.message = "Failed to register user due to:" + errors.join(' ');
});
}
};
}]);
错误我得到了什么 错误:[$ injector:unpr] http://errors.angularjs.org/1.2.17/ $ injector / unpr?p0 = copeProvider%20%3C-%20%24scope%20%3C-%20authFactoryService 在错误(本机)
为什么无法加载 authFactoryService 服务
答案 0 :(得分:3)
终于想到挖了, 工厂再次注入 $ scope 更换 此
AuthService.factory('authFactoryService', [
'$http', '$q', '$scope', function ($http, $q, $scope) {}]);
到此(刚刚删除了$ scope,它再次在工厂注入依赖。
AuthService.factory('authFactoryService', [
'$http', '$q', function ($http, $q, $scope) {}]);
答案 1 :(得分:1)
var AuthService = angular.module(&#39; authFactory&#39;,[]);
您在模块中包含了一个空数组。这使它成为一个 模块设置器,覆盖现有模块。 要获取一个模块,你使用angular.module(&#39; authFactory&#39;)&lt; - 注意缺少的第二个参数。
此致 桑德