저는 앱의 인증 부분에 대한 제공 업체를 구축하고 있습니다. 의존성 인젝터를 사용할 때 함수에 값을 전달하는 데 문제가 있습니다.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');
}]
}
});
});
오류 : 당신은 0123에 두 번째 매개 변수로 함수를 전달해야
Error: [$injector:unpr] Unknown provider: securityAuthorization
제거'securityAuthorization'을 설정하는 방법, 그것은 더 이상이 필요하지 않습니다. – TheSharpieOne
내가 그것을 제거하면 ReferenceError : securityAuthorization이 정의되지 않았습니다. –
'authenticatedUser : [ 'securityAuthorization', function (securityAuthorization) { return securityAuthorization.requireRole ('user'); }]' – TheSharpieOne