Опция ChartModel в следующей модели является очень сложным объектом
export declare interface ChartModel {
id: string,
name: string,
option: EChartOption
}
@Injectable({
providedIn: 'root'
})
export class FirebaseService {
constructor(private db: AngularFirestore) {
}
getCharts() {
return this.db.collection('charts').snapshotChanges();
}
createChart(chart: ChartModel) {
return this.db.collection('charts').add(chart);
}
updateChart(chart: ChartModel) {
delete chart.id;
return this.db.doc('charts/' + chart.id).update(chart);
}
}
Я получил данные, когда ngOnInit
ngOnInit(): void {
this.firebaseService.getCharts().subscribe(data => {
this.chartModels = data.map(item => {
return {
id: item.payload.doc.id,
...item.payload.doc.data()
} as ChartModel;
});
console.log(this.chart);
});
}
ответ:
[{id: "FYLrQ3uAbP1H7uWpWu9Z", name: "pie", option: "{ title: {text: 'fooooo', subtext: 'sometext', …matter: '{@product}: {@[1]} ({d}%)'}}} }] }"}]
Как правильно преобразовать поле параметра ChartModel в Json?