【发布时间】:2016-12-06 08:12:45
【问题描述】:
如果用户类型不存在,我需要将“登录”用户重定向到主页。我有一个名为“authService”的服务,我可以在其中检查是user auth == true 还是false。
如果用户未经过身份验证 (authService.auth == false),我使用 $STATE.GO 重定向到登录页面。
app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', '$httpProvider',
function ($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise(function ($injector, $location) {
var $state = $injector.get("$state");
$state.go("login");
});
}]);
现在我想做类似的重定向用户到主页,当用户是auth == true。当用户使用令牌时,尝试输入不存在的 url,重定向到主页。
我尝试通过注入 authService 服务并制作 if/else 来做到这一点。 但这不起作用,因为我收到错误
错误:$injector:unpr 未知提供者 未知提供者:authService
app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', '$httpProvider', 'authService',
function ($stateProvider, $urlRouterProvider, $locationProvider, authService) {
if (authService.auth == false) {
$urlRouterProvider.otherwise(function ($injector, $location) {
var $state = $injector.get("$state");
$state.go("login");
});
}
else {
$urlRouterProvider.otherwise(function ($injector, $location) {
var $state = $injector.get("$state");
$state.go("home");
});
}
}]);
这是不好的解决方案吗?我可以将自定义服务注入 app.config 吗?有人可以帮我吗?
谢谢。
【问题讨论】:
标签: angularjs angular-ui-router