角度模块中的多个配置块

2024-01-19

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

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

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

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

  });

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


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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

角度模块中的多个配置块 的相关文章

随机推荐