Работа с полным примером таблицы (с сортировкой, фильтрацией, поиском и разбиением на страницы), которая имитирует вызов сервера с использованием константы JSON.Я пытаюсь сделать так, чтобы это вызывало настоящий API, который возвращает JSON вместо локальной константы.https://ng -bootstrap.github.io / # / components / table / examples # complete
Мне удалось сменить код с демонстрационной версии с использования стран на поставщиков.Например, country.ts - это поставщик.тс, страна.тс - поставщик.ц, а страна.сервис - поставщик.сервис.Это работает, без проблем, но я хочу удалить json-файл country.ts (в моем случае, supplier.ts) и заменить его вызовом http.get для локальной службы API.
Вот пример рабочего кода из службы API, который я пытаюсь вызвать:
getSuppliers (): Observable<SupplierVM[]> {
return this.http.get<SupplierVM[]>(apiUrl+'supplier')
.pipe(
tap(heroes => console.log('fetched Suppliers')),
catchError(this.handleError('getSuppliers', []))
);
}
Вот пример рабочего вызова из компонента Angular:
allSuppliers:Observable<SupplierVM[]>;
this.allSuppliers=this.api.getSuppliers();
Это метод, который работает в демоверсии (единственное отличие - я использую поставщиков вместо стран)
private _search(): Observable<SearchResult> {
const {sortColumn, sortDirection, pageSize, page, searchTerm} = this._state;
// 1. sort
let suppliers = sort(SUPPLIERS, sortColumn, sortDirection);
// 2. filter
suppliers = suppliers.filter(country => matches(country, searchTerm/*, this.pipe*/));
const total = suppliers.length;
// 3. paginate
suppliers = suppliers.slice((page - 1) * pageSize, (page - 1) * pageSize + pageSize);
return of({suppliers, total});
}
Это работает, когда я вызываю SUPPLIERS из оператора import, но хочу заменить 'ПОСТАВЩИКИ' от метода сортировки к чему-то вроде 'this.allSuppliers' (вроде как пример вызова метода выше.)
// 1. sort
let suppliers = sort(this.allSuppliers, sortColumn, sortDirection);
Все работает, когдаиспользование локальной импортированной константы, составленной из JSON, и она должна работать точно так же, когда вызывается реальная служба, потому что ответ JSON точно такой же.