Я изучаю Angular и Firebase и создаю тестовый проект.Я застрял с получением данных из Firebase.
Есть проект - https://embed.plnkr.co/lpwsbuVpS3MuAYpnTgRY/ * (но, к сожалению, он не работает)
Основная идея - у нас есть список серверовна главной странице приложения.Нажав на кнопку «Изменить», мы можем перейти на страницу /server-info/{server-id}
и просмотреть все детали текущего сервера.
Итак, проблема, с которой я столкнулся, заключается в том, что при переходе на страницу редактирования возникает ошибка TypeError: Cannot read property 'mainip' of undefined
.Вот код ServerInfoComponent
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import * as firebase from "firebase";
@Component({
selector: 'app-server-info',
templateUrl: './server-info.component.html',
styleUrls: ['./server-info.component.css']
})
export class ServerInfoComponent implements OnInit {
id: string;
currentServer: any;
constructor(private route: ActivatedRoute) {}
getServerInfo() {
firebase.database().ref('Servers/' + this.id).on('value', snap => {
this.currentServer = snap.val();
});
}
ngOnInit() {
// get id of current server
this.id = this.route.snapshot.params['id'];
this.getServerInfo();
}
}
console.log()
в getServerInfo()
метод возвращает объект с необходимыми данными
На самом деле, он работал, пока я не решил создать db.service.tsгде я планировал добавить все методы для работы с Firebase.Я изменил AllServersComponent для работы с этим сервисом и после этого разрыва страницы ServerInfo.