Я использую Angle Cli 6 и Angularfire2. Мой код очень хорошо работает для отображения данных в шаблоне с помощью классического цикла ngfor и асинхронного канала. Но я также должен использовать данные для графика Google. Для этого нужны данные из машинописи. Как я могу преобразовать мои наблюдаемые в массив в машинописи, как описано ниже?
Я могу использовать вантуз, если он вам нужен
У меня есть в моей базе данных:
--ppss
--pps1key
--treatement : value1
--DateA : DateA1
--Date B : DateB1
--pps2key
--treatement : value2
--DateA : DateA2
--Date B : DateB2
Я хочу отображать данные в моих //component.ts следующим образом:
this.data1 = [
['treatement','dateA', 'dateB'],
[ 'Treatement.value1', new DateA1(), new DateB1()],
[ 'Treatement.value2', new DateA2(), new DateB2()]
];
Из моего сервиса я отправляю наблюдаемую такую:
getPPSByPatientid(Patientid: string)
{
return this.database.list('/ppss', ref =>
ref.orderByChild("Patientid").equalTo(Patientid)).valueChanges();
}
Я пробую это, но у меня много ошибок:
patientid: string;
ppssToDisplay;
data1: any[];
ngOnInit() {
this.route.params.forEach((urlParameters) => {
this.patientid = urlParameters['id'];});
this.ppssToDisplay = this.ppssService.getPPSByPatientid(this.patientid);
let interestingFields = [ 'treatement','dateA', 'dateB'];
this.ppssToDisplay.subscribe(obj => {
this.data1 = [
interestingFields,
interestingFields.map(field => obj[field]),
];
console.log(this.data1);
});
Ошибка:
core.js:1598 ERROR Error: Uncaught (in promise): Error: Not an array Error: Not an array