是否存在在angularJS中跨模块重用解析器的模式

时间:2015-02-02 05:50:02

标签: angularjs angular-ui-router

我的App有一个模块化结构,这意味着我有许多配置文件,其中包含路由定义。我尝试使用解析器检查用户是否已经过身份验证,然后再将其移至下一个路径视图。

现在我可以在配置中重用一个函数作为我的解析方法,即

function resolverFunc(Auth, $state){
    if(!Auth.isLoggedIn()){
      $state.go('login');
   }
}

$stateProvider.state('state1', {
     url: "/myurl",
     resolver:{
         loggedIn: resolverFunc
    }
  }
)
.state('state2',{
    url: '/url2',
    resolver:{
        loggedIn: resolverFunc
    }
})

问题是我必须在每个模块中定义resolverfunc。因为每个模块都有自己的module.config(),其中为该模块定义了路由。

是否有更简单的解决方案。我不得不在每个配置文件中为所有具有路径

的模块重写此函数

0 个答案:

没有答案