gpt4 book ai didi

javascript - 覆盖 $templateCache 使其不区分大小写

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

能否在保持对原始提供者的引用的同时覆盖像 $templateCache 这样的核心提供者?我想覆盖 $templateCache 以区分大小写。

即像

var normalGet = $templateCache.get;
var normalPut = $templateCache.put;
$templateCache.get = function(key) { normalGet(key.toLowerCase()); };
$templateCache.put = function(key,value) { normalPut(key.toLowerCase(), value); };

但不那么 hacky,更像 DI 风格?

最佳答案

我会说使用 decorator 来修改实际的 Provider 代码,这将在配置阶段完成,然后才会生效。

我们使用了$templateCacheProvider因为Provider附加的前缀表示它的provider(它可以是Directive当你正在修改指令的指令 DDO)。您必须将此代码放在应用程序的 config 阶段。

代码

app.config(['$provide', Decorate]);
function Decorate($provide) {
$provide.decorator('$templateCacheProvider',
['$delegate', function($delegate) {
var templateCache = $delegate[0];

var normalGet = templateCache.get;
var normalPut = templateCache.put;
templateCache.get = function(key) { return normalGet(key.toLowerCase()); };
templateCache.put = function(key,value) { normalPut(key.toLowerCase(), value); };

return $delegate;
}]);
}

关于javascript - 覆盖 $templateCache 使其不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38079140/

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