Столбец данных для запросов Angular с Firebase представляет собой строку json, как я могу преобразовать в объект json? - PullRequest
0 голосов
/ 27 февраля 2019

Опция 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?

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