ошибка TS: 2339 Свойство "Проект" не существует для типа {} - PullRequest
0 голосов
/ 11 мая 2018

Я использую библиотеку crossfilter js в своем проекте Angular 2+, Согласно документации по crossfilter, Crossfilter API принимает массив объектов javascript. Используя сервис, я получаю данные из mongo db, используя наблюдаемый, я получаю данные в виде массива Object.

ниже указан сервисный вызов в моем компоненте

this._getdataservice.getData().subscribe(  
    function (posts) {
        console.log(posts);
        var ndx = crossfilter(posts);
        var projectDim = ndx.dimension(function(d) { return d.Project });
    }
)

Я получаю ошибку, как показано на снимке экрана ниже enter image description here

Если я печатаю post-объект в консоли, он дает массив объекта

enter image description here

Код написан в сервисе

getData(): Observable<any>  {
    return this.http.get<any>(this.url);
}

код, написанный в компоненте, в который внедряется служба

constructor(private _getdataservice: DataServiceService) { }

ngOnInit() { 
    this._getdataservice.getData().subscribe(function(posts){
        console.log(posts);
        var ndx = crossfilter(posts);
        var projectDim = ndx.dimension(function(d) {return d.Project});
    })
}

Пожалуйста, помогите мне понять, где я делаю неправильно?

1 Ответ

0 голосов
/ 11 мая 2018

Измените тип d как any

var projectDim = ndx.dimension(function(d : any) { return d.Project};
...