gpt4 book ai didi

javascript - 通过应用程序配置 AngularJS 的动态提供者选项

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:02:53 24 4
gpt4 key购买 nike

我有接受如下配置的提供者模块:

angular.module('app', ['search']).
config(['$searchProvider', function($searchProvider) {
$searchProvider.options({
resultLimit:50,
defaultSort:'highToLow'
});
}]);

每个客户端都会有一个新的应用程序实例化 --- 所以我正在考虑使用客户端自助服务门户来配置 meta 对象。

这意味着提供者模块现在需要在回调方法中等待 meta,然后才能设置各自的配置。

但让我们都记住:配置 block - 在提供商注册和配置阶段执行。只有提供者和常量可以注入(inject)到配置 block 中。这是为了防止服务在完全配置之前意外实例化...

...所以文档说您可以在配置 block 中使用提供程序,但我不确定您是否可以使用它们进行服务调用。因为我不知道如何以正确的方式处理这个问题,所以我将向您展示我的“高级”想法:

用另一个提供者回调包装依赖提供者:

angular.module('app', ['search','meta']).
config(['$searchProvider','$metaProvider', function($searchProvider, $metaProvider) {
$metaProvider.get(function(meta){
$searchProvider.options(meta);
});
}]);

处理此问题的最佳方法是什么?

最佳答案

我最近遇到了同样的问题。我找不到在框架范围内工作的解决方案,所以我在加载所有客户端配置信息后通过手动引导 angular 解决了这个问题。 http://docs.angularjs.org/api/angular.bootstrap

$.get('/api/context', function () {
// ...
angular.bootstrap($('#container'), ['app']);
});

关于javascript - 通过应用程序配置 AngularJS 的动态提供者选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17557088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com