我正在为应用程序的身份验证部分构建提供程序。我在使用依赖注入器时将值传递给函数时遇到了麻烦。AngularJS函数DI参数
angular.module('security.authorization', ['security.service'])
.provider('securityAuthorization', {
requireRole: ['securityAuthorization', 'rolesAllowed', function(securityAuthorization, rolesAllowed) {
return securityAuthorization.requireRole(rolesAllowed);
}],
$get: ['security', '$q', function(security, $q) {
return {
requireRole: function(rolesAllowed) {
console.log(rolesAllowed);
}
};
}]
});
我试图从app.config $ routeProvider调用“requireRole”。
.when('/map', { controller: 'MapCtrl', templateUrl: 'partials/user/map.html',
resolve: {
authenticatedUser: securityAuthorizationProvider.requireRole('user')
}
})
但它给了我
Uncaught Error: [$injector:modulerr] Failed to instantiate module myApp due to: TypeError: object is not a function
UPDATE
app.config(function($routeProvider, $httpProvider, securityAuthorization) {
$routeProvider
.when('/map', { controller: 'MapCtrl', templateUrl: 'partials/user/map.html',
resolve: {
authenticatedUser: ['securityAuthorization', function(){
return securityAuthorization.requireRole('user');
}]
}
});
});
错误:
Error: [$injector:unpr] Unknown provider: securityAuthorization
删除'securityAuthorization'在'config',它不再需要在那里。 – TheSharpieOne 2014-10-06 19:26:18
如果我删除它,那么我得到ReferenceError:securityAuthorization没有被定义 – 2014-10-06 19:45:16
'authenticatedUser:['securityAuthorization',function(securityAuthorization){ return securityAuthorization.requireRole('user'); }]' – TheSharpieOne 2014-10-06 20:11:17