ngx-datatable, как использовать JSON из веб-API в сетке

Я пробовал ngx-datatable пример с файлом agent.json, и он работает

Затем вызвал веб-API и успешно вернул JSON.

Какой тип объекта мне нужно передать из getResults в PagedData в их примере, когда я получаю ошибку?

ОШИБКА TypeError: Невозможно прочитать свойство 'toLocaleString' из неопределенного

Правильный ли способ создания json для использования в ngx-datatable?

Образец кода:

import {Injectable} from "@angular/core";
import {Observable} from "rxjs";
import {PagedData} from "./model/paged-data";
import {Page} from "./model/page";
declare function require(arg:string): any;
//const agentData = require('../assets/data/agent.json');
import { Agent } from './model/agent';
import { Http, Response} from '@angular/http';


@Injectable()
export class MockServerResultsService {

    agentData: any;

    constructor(private http: Http) { }
        private baseUrl = 'http://localhost:54032/api/agent/getagent?id=354';

        public getResults(page: Page): Observable<PagedData<Agent>> {

            this.agentData = this.http.get(this.baseUrl)
            .map((response: Response) => <Agent[]> response.json())
            .do(data => console.log('All: ' +  JSON.stringify(data)));

        return Observable.of(this.agentData)
        .map(data => this.getPagedData(page));
    }

    private getPagedData(page: Page): PagedData<Agent> {
        let pagedData = new PagedData<Agent>();
        page.totalElements = this.agentData.length;
        page.totalPages = page.totalElements / page.size;
        let start = page.pageNumber * page.size;
        let end = Math.min((start + page.size), page.totalElements);
        for (let i = start; i < end; i++){
            let jsonObj = this.agentData[i];
            let agent = new Agent(jsonObj.name);
            pagedData.data.push(agent);
        }
        pagedData.page = page;
        return pagedData;
    }
}

0 ответов

Другие вопросы по тегам