Angular新路由器可以全局激活多个视图

时间:2015-05-19 06:36:21

标签: javascript angularjs

我想知道如果用户没有登录,是否有办法在同一时间阻止多个路由实例化组件。

例如:

angular.module('app', [])
  .controller('MyController', ['user', '$http', MyController]);

function MyController(user, $http) {
  this.user = user;
  this.$http = $http;
}

MyController.prototype.canActivate = function() {
  return this.user.isLogin;
};

这里仅针对此组件,有一种方法可以在一个地方定义我想要此功能的所有路径吗?

1 个答案:

答案 0 :(得分:0)

最简单的方法是创建一个文件,例如

protectedRoutes.js 并创建:

var components = [AccountController, PrivateController];

components.forEach(function(comp) {

   comp.prototype.canActivate = function() {
       return this.user.isLogin;
   }

});