美文网首页SAPSAP
SAP Spartacus FeatuturesConfig

SAP Spartacus FeatuturesConfig

作者: 华山令狐冲 | 来源:发表于2021-01-30 09:59 被阅读0次

源代码:

import { Injectable } from '@angular/core';
import { Config } from '../../config/config-tokens';

@Injectable({
  providedIn: 'root',
  useExisting: Config,
})
export abstract class FeaturesConfig {
  features?: {
    [featureToggle: string]: string | boolean;
  };
}

FeatureConfig需要注入config-tokens里提供的Config.

Configuration injection token创建的factory方法:


而Configuration又依赖于DefaultConfiguration,因此需要先注入后者:



调用_currentInjector.get拿到DefaultConfigurationToken的实例。

_currentInjector的类型是R3Injector:


records字段里有注入好的实例:

this.records是一个map,首先检查传入的token是否已经在map里存在:


这个record里的属性很多:


感觉有很多module都使用了DefaultConfigurationChunk作为injection token

以这个cmsStoreConfigFactory工厂为例:cmsStoreConfigFactory

看个例子:

provideDefaultConfigFactory是一个helper function,接收另一个factory函数作为输入。

调用工厂函数获得value:

遍历这119条记录:



相关文章

网友评论

    本文标题:SAP Spartacus FeatuturesConfig

    本文链接:https://www.haomeiwen.com/subject/huuamktx.html