角度模块中的多个配置块

lin*_*use 11 config angularjs

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

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

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

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);
          }
        }
      })
      ;

  });
Run Code Online (Sandbox Code Playgroud)

我是否走在正确的轨道上?

nir*_*aft 0

在应用程序中拥有多个配置块不是问题。它应该工作正常。链接配置以保持事物隔离是完全可以的。你应该还缺少其他东西。可能是应用程序配置开始时服务提供商尚未解析。

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