我有接受以下配置的提供者模块:
angular.module('app', ['search']).
config(['$searchProvider', function($searchProvider) {
$searchProvider.options({
resultLimit:50,
defaultSort:'highToLow'
});
}]);
每个客户端都会有一个新的应用实例化 - 所以我正在考虑使用客户端自助服务门户配置meta
对象。
这意味着提供者模块现在需要在回调方法中等待meta
才能设置各自的配置。
但是我们都记得:配置块 - 在提供商注册和配置阶段执行。只有提供程序和常量才能注入配置块。这是为了防止服务在完全配置之前意外实例化...
...所以文档说您可以在配置块中使用提供程序,但我不确定您是否可以使用它们来进行服务调用。因为我不知道如何以正确的方式处理这个问题,所以我会告诉你我的“高级”想法:
使用其他提供商回调包含相关提供商:
angular.module('app', ['search','meta']).
config(['$searchProvider','$metaProvider', function($searchProvider, $metaProvider) {
$metaProvider.get(function(meta){
$searchProvider.options(meta);
});
}]);
处理此问题的最佳方法是什么?
答案 0 :(得分:3)
我最近遇到了同样的问题。我找不到在框架范围内工作的解决方案,所以我在加载了所有客户端配置信息后通过手动引导角来解决问题。 http://docs.angularjs.org/api/angular.bootstrap
$.get('/api/context', function () {
// ...
angular.bootstrap($('#container'), ['app']);
});