我需要在加载之前解决应用程序中的一些依赖项(为我的服务获取数据等)。我想将它们分开,以便我为主应用程序拥有一个配置块,然后为应用程序的其他部分拥有一个或多个配置块。
最终,我希望它能够解决主应用程序的依赖关系,加载与之关联的组件,然后解决其余部分并加载这些部分,因此加载时响应速度更快。
这是我到目前为止所想到的,但它并没有解决第一个配置块中的依赖关系:
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(使用前将#替换为@)