0
長い質問を申し訳ありません。私は、このように取得イベントのリストを持っている:Firebase - 単一のオブジェクトを取得する
export class HomePageComponent implements OnInit {
events: FirebaseListObservable<EventModel[]>;
constructor(
private authService: AuthService,
private router: Router,
private db: AngularFireDatabase
) {
this.events = db.list('/events');
}
ngOnInit() {
}
}
イベントは次のように表示されます。
export class EventComponent implements OnInit {
event: Object;
name: String;
constructor(db: AngularFireDatabase, route: Router) {
const eventQuery = db.list('/events', {
query: {
orderByChild: 'slug',
equalTo: 'event-name'
}
}).subscribe(data => {
this.event = data[0];
});
}
ngOnInit() {
}
}
this.event
完了すると:
<md-card *ngFor="let event of events | async">
<a [routerLink]="['event', event.slug]"><img class="event-img" src="http://lorempixel.com/30/30" />{{ event.name }}</a>
</md-card>
event.component
は次のようになります正しい情報が照会されています。それは次のようになります。
Object {category: "category", description: "description", googleMap: "map", guests: Object, name: "Event name"…}
category: "category"
description: "description"
googleMap: "map"
guests: Object
name: "Event name"
slug: "event-name"
venue: "The venue"
$exists: function()
$key: "-xxxxxxxx"
__proto__: Object
私は名前{{event.name}}
を表示しようとすると、私は追加の質問エラー
ERROR TypeError: Cannot read property 'name' of undefined
at Object.eval [as updateRenderer]
取得:
イベント情報がすでにHomePageComponent
に存在するので、それができるのEventComponent
に送信され、イベントを表示するために使用されますか?たぶんこれは追加のデータベースクエリを避けるでしょう。
こんにちは。答えてくれてありがとう。安全な演算子を 'event.component.html'に追加しました。私は、 'homepage.component.html'にリンクがどこにあるのかに間違いはありません。そうです。あなたはもう私の質問に気づいたのですか? – Ciprian
upvote助けがあれば – Sajeetharan