Angular js - $ routeProvider - 如何在routeChangeStart上解析它

时间:2014-05-21 09:22:21

标签: javascript angularjs promise resolve route-provider

我正在阅读$routeProvider的Angular文档,我参数说:

  

resolve - {Object。=} - 可选的地图   应该注入控制器的依赖项。如果有的话   这些依赖是承诺,路由器将等待它们全部到   在控制器之前被解决或被拒绝   实例化。如果所有承诺都成功解决了,那么   注入的Promises的值被注入并且$ routeChangeSuccess   事件被解雇了。如果任何承诺被拒绝了   $routeChangeError事件被触发。地图对象是:

     

key - {string}:要注入的依赖项的名称   控制器。 factory - {string | function}:如果是string,那么它就是别名   为了服务。否则如果功能,那么它是注入和   返回值被视为依赖项。如果结果是承诺,   在将值注入控制器之前解决它。是   意识到ngRoute。$ routeParams仍然会引用之前的路线   在这些解决功能中。使用$ route.current.params进行访问   相反,新的路线参数。

那么在resolve而不是routeChangeStart时,路由提供者中有routeChangeSuccess的任何方式吗?

要解释我的推理 - 我想在routeChangeStart上运行解决方案,因为我正在为我的所有应用程序设置配置参数,我希望尽快让它们可访问,而ChangeSuccess则稍后一步。< / p>

我的代码实际上非常简单:

$routeProvider
.when('/',{
   templateUrl:'amagic_template.html',
   controller:'Ctrl',
   resolve: {
    load: function (configFactory) {
      return configFactory.load(); // promises in here 
    } 
   }
});

0 个答案:

没有答案