如何检查整个AngularJS应用程序的条件

时间:2016-07-19 15:19:57

标签: javascript jquery angularjs

如果没有,我想检查用户是否仍处于活动状态 我想将其重定向到登录页面

我在控制器中进行了此检查 一个好主意。有人可以帮帮我吗。

这是控制器

  

pmaster.controller(#39&; AuthenticationCheckControll&#39 ;,   [' localStorageService',' $ scope',' $ location',' $ window',功能   (localStorageService,$ scope,$ location,$ window){

var isValid = localStorageService.get("userID");
// I want this condition be check on every view in this application
if (isValid ==null)
{
    $window.location = "/AngularView/html/Master.html#/Login";
}
     

}]);

2 个答案:

答案 0 :(得分:1)

对于共享共享实用程序功能,您可以使用'服务'捆绑它们。

Angular服务包括: Lazily实例化 - Angular仅在应用程序组件依赖它时实例化服务。 单身人士 - 依赖于服务的每个组件都会获得对服务工厂生成的单个实例的引用。

  

服务角度服务是有线的可替代对象   一起使用依赖注入(DI)。您可以使用服务   在您的应用中整理和分享代码。

More information & example here

类似的例子:AngularJS - User-Registration-and-Login-Example

还要注意工厂'可以在Angular中找到。关于差异的一些有趣信息' Service' vs'工厂'可以找到here

答案 1 :(得分:1)

您只需在路线中添加以下代码

即可
$urlRouterProvider.otherwise(function(){
  var isValid = localStorageService.get("userID");
  if (isValid ==null){
     return '/Login';
  }else{
     // Your home page state url
  }
});

或者一个简单的方法是,

  $urlRouterProvider.otherwise(localStorageService.get("userID") ? "/login" : "/homepage");