Ngrx/data,如何在懒惰加载的模块中添加多个名称映射



从文档中,我试图在我的延迟加载的Angular模块中添加以下提供程序。。。

{ provide: PLURAL_NAMES_TOKEN, multi: true, useValue: morePluralNames }

但这是行不通的。文档中描述了类似的机制如下。。。

{ provide: ENTITY_METADATA_TOKEN, multi: true, useValue: someEntityMetadata }

此技术不适用于延迟加载的模块。这个ENTITY_METADATA_TOKEN提供程序已由延迟加载模块到达的时间。

模块应改为注入EntityDefinitionService,并且使用其中一种注册方法直接注册元数据。

class LazyModule {
constructor(eds: EntityDefinitionService) {
eds.registerMetadataMap(this.lazyMetadataMap);
}
...
}

这是否意味着我必须使用EntityDefinitionService才能在我的懒惰加载模块中识别我的复数名称?如果是,我该怎么做?我一直想不通。如果没有,你知道我做错了什么吗?

如果需要,我可以提供更多的代码,但我主要想知道它是否应该工作,或者我是否需要对懒惰加载模块中的复数名称映射做一些不同的事情(以及"不同的东西"到底是什么(。

根据文档,您可以在懒惰加载模块中注册自己的httpUrlGenerator,它对我有效。

export class LazyModule {
constructor(eds: EntityDefinitionService, hug: HttpUrlGenerator  ) {
eds.registerMetadataMap(entityConfig.yourEntitiyMetaData);
hug.registerHttpResourceUrls({
input: {
entityResourceUrl: 'xxx/input/',            
collectionResourceUrl: 'xxx/inputs/'
}
});
}
}