При попытке использовать новый модуль @ ngrx / data, и я не могу полностью понять реализацию обновления удаленного сервера, что такое реализация OOTB по умолчанию и как мне ее переопределить.когда я пытаюсь реализовать это самостоятельно, я получаю сообщение об ошибке, касающееся дублирования интерфейса EntityServerCommands.delete метода.будет рад ответить на мой конкретный вопрос и даже лучше рабочий пример.
При просмотре руководства @ ngrx / data я не смог найти правильного объяснения или примера того, как реализовать часть обновления удаленного сервера.,даже не через Entity-Services, EntityCollectionService и EntityServerCommands.
@Injectable({ providedIn: "root" })
export class RequestService extends EntityCollectionServiceBase<RequestInfo> implements EntityServerCommands<RequestInfo>
{
constructor(serviceElementFactory: EntityCollectionServiceElementsFactory, private repository: DataService<RequestInfo>) {
super("Request", serviceElementFactory);
}
// inherited from data/EntityServerCommands
add(entity: RequestInfo, options?: EntityActionOptions): Observable<RequestInfo> {
return this.repository.add(entity);
}
delete(entity: RequestInfo, options?: EntityActionOptions): Observable<number> {
return this.repository.remove(entity.Id)
.pipe(map(r => r.Request.Id));
}
delete(key: number, options?: EntityActionOptions): Observable<number> {
return this.repository.remove(key)
.pipe(map(r => r.Request.Id));
}
getAll(options?: EntityActionOptions): Observable<RequestInfo[]> {
return this.repository.list();
}
.
.
.
}
Получение в основном вариации следующих ошибок:
Реализация дублирующейся функции.
Свойство 'delete' в типе«RequestService» нельзя назначить одному и тому же свойству в базовом типе «EntityServerCommands».Тип '(entity: RequestInfo, options ?: EntityActionOptions) => Observable' нельзя назначить типу '{(entity: RequestInfo, options ?: EntityActionOptions): Observable;(ключ: строка | число, параметры ?: EntityActionOptions): наблюдаемый;}».Типы параметров «сущность» и «ключ» несовместимы.Тип 'строка |число »не может быть присвоено типу« RequestInfo ».Тип 'string' нельзя назначить типу 'RequestInfo'.