试图理解这里的 ngrx/data 实体数据服务示例,其中显示“创建实体数据服务”。在展示了该服务之后,文档继续展示如何在组件中使用 ngrx/data。我感兴趣的组件部分是这样的:
getHeroes() {
this.heroService.getAll();
}
启动 HTTP 请求的文档状态getAll()
,但我不确定该请求实际上是在哪里或如何发出的。在ngrx-data 存储库中。它声明用以下代码替换 heroService:
import { Injectable } from '@angular/core';
import {
EntityCollectionServiceBase,
EntityCollectionServiceElementsFactory
} from 'ngrx-data';
import { Hero } from '../core';
@Injectable({ providedIn: 'root' })
export class HeroService extends EntityCollectionServiceBase<Hero> {
constructor(serviceElementsFactory: EntityCollectionServiceElementsFactory) {
super('Hero', serviceElementsFactory);
}
}
文档状态ngrx-data handles getting and saving our data for us
。太好了,但我不知道获取数据的位置。我克隆了 repo,检查了finish
分支,找不到到达端点的东西。
例如,用于获取所有英雄的服务http.get(${api}/heroes)
,getAll()
但是被上面的代码替换了,那么这些调用发生在哪里?
我注意到EntityCollectionServiceBase
有一个getAll()
方法。但是该服务的配置在哪里注册相应的端点?我确定我在这里遗漏了一些非常简单的东西。