Javascript angular.config中的自定义提供程序
我看到了几个示例,如何将自定义提供程序插入angular的Javascript angular.config中的自定义提供程序,javascript,angularjs,Javascript,Angularjs,我看到了几个示例,如何将自定义提供程序插入angular的.config,但我没有正确地执行 我有一个提供者: (function() { var app = angular.module('application.providers', ['application.services']) app.provider('accessProvider', function() { this.$get = ['userServices', function(userS
.config
,但我没有正确地执行
我有一个提供者:
(function() {
var app = angular.module('application.providers', ['application.services'])
app.provider('accessProvider', function() {
this.$get = ['userServices',
function(userServices) {
var auth = {}
auth.action = function(action, roles) {
auth[action] = angular.copy(roles)
}
auth.action('sell', [...])
auth.can = function(action) {
var userRole = userServices.getRole()
return auth[action].reduce(function(prev, now) {
return prev || (now === userRole)
}, false)
}
return auth
}
]
})
})()
当我在这里定义我的路线时:
(function() {
var app = angular.module('application.configRoutes', ['ngRoute', 'application.providers'])
app.config(['$routeProvider', '$locationProvider', 'accessProvider',
function($routeProvider, $locationProvider, accessProvider) {
...
我得到以下错误:
Uncaught Error: [$injector:modulerr] Failed to instantiate module landingPage due to:
Error: [$injector:modulerr] Failed to instantiate module application.configRoutes due to:
Error: [$injector:unpr] Unknown provider: accessProvider
以下是我如何实例化我的应用程序:
var app = angular.module('landingPage', [
'application.configRoutes',
'application.directives',
'application.controllers',
'application.translate',
'application.flash',
'application.customInterceptors'
])
我在
providers.js
之前加载存储services.js的文件,然后才加载configRoutes.js
发现问题。我没有将提供者
附加到提供者名称。在本例中,它看起来像accessProviderProvider