角度模块中的多个配置块

时间:2014-07-09 16:51:17

标签: angularjs config

我需要在加载之前在我的应用中解决一些依赖项(为我的服务提取数据等)。我想将这些分开,以便我有一个主应用程序的配置块,然后一个或多个配置块用于应用程序的其他部分。

最终,我希望让它解决主应用程序的依赖关系,加载与之关联的组件,然后解决其余部分并加载这些部分,因此加载时响应更快一些。

这是我到目前为止所提出的,但它没有解决第一个配置块中的依赖项:

angular.module('myApp', ['ui.router', 'kendo.directives'])
  .config(function($stateProvider) {
    $stateProvider
      .state('settings', {
        url: '/',
        views: {
          'mainNav': {
              templateUrl: 'scripts/directives/mainNav/mainNav.html',
              controller: 'mainNavCtrl'
          //etc
          }
        },
        resolve: {
          fetchSettings: function(Settings) {
            return Settings.fetch;
          }
        }
      });
  })
  .config(function ($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise('/');

    $stateProvider
      .state('otherPart', {
        url: '',
        views: {
          'otherPart': {
            templateUrl: 'views/otherPart.html' 
           //etc
          }
        },
        resolve: {
          fetcherPromise: function(User, MyData) {
            var fns = [
              MyData.fetch,
              User.fetchEntitlements
            ];
            return fetcher.inSerial(fns);
          }
        }
      })
      ;

  });

我是否在正确的轨道上?

1 个答案:

答案 0 :(得分:0)

在应用程序中具有多个配置块不是问题。它应该工作正常。链接配置以保持类似的东西是完全可以的。这里应该还缺少其他东西。应用程序配置开始时,服务提供商可能无法解决。

或者启动应用程序时,其中包含服务的模块无法解析。在启动时,请确保已解决配置块中使用的模块或服务,并且在AppModule中可用。