我有接受配置的提供程序模块,例如:
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);
});
}]);
处理这个问题的最佳方法是什么?