Angular Карта не получает данные - PullRequest
0 голосов
/ 06 мая 2020

У меня есть модель ниже

export class ChartModel {
    labelsMap: Map<String, String[]>;
    LegendMap: Map<String, String[]>
}

У меня есть поля ниже в файле component.ts

chartModelMap = {X: ChartModel, Y: ChartModel, Z: ChartModel};
chartModelMap2 = new Map<string,ChartModel>();

Вызов службы и назначение объекта ChartModel из ответа. (ctype - это X, Y или Z) * ​​1007 *

this._chartService.getDataForBarChart(this.summaryFilterModel).subscribe(chart => {
        this.chartModelMap[ctype]=chart;
        chartModelMap2.set(ctype, chart);
        console.log('ctype',ctype,'chart:',this.chartModelMap[ctype])
        console.log('ctype',ctype,'chart:',this.chartModelMap2[ctype])
      });
    })

При вызове вышеуказанной службы я могу видеть объект chartModel и его поля (legentMap, LabelMap) в журнале консоли.

После сохранения в вышеуказанной функции я беру данные в другой функции. Как показано ниже

drawChart(chartType:string): any { // chart type will be X or Y or Z
    console.log('this.chartModelMap>',this.chartModelMap) // This is working, in console i see the data
     console.log('this.chartModelMap>',this.chartModelMap.get(chartType)) // returning undefined
 console.log('this.chartModelMap>',this.chartModelMap[chartType]) // returning undefined
 console.log('this.chartModelMap>',this.chartModelMap.size) // returning zero
console.log('this.chartModelMap>',Object.keys(this.chartModelMap)) // returning nothing
 }

Я действительно не понимал, что происходит. Почему я не могу напрямую получить данные из MAP. Я использую angular 9 с ES5.

Ожидаю вашей помощи

Спасибо Manivannan

EDIT Ниже фрагмент из службы и вызываемой области

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...