角度模块中的多个配置块

问题描述 投票:0回答:1

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

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

这是我到目前为止所想到的,但它并没有解决第一个配置块中的依赖关系:

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

  });

我走在正确的道路上吗?

angularjs config
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.