私はAngular2を学び、アプリケーションをAngular2に変換しています。今、Firebaseからコンテンツを読み込むためのダイナミックページを作成しようとしています。しかし、私は立ち往生した。私が正しく理解していれば、私はコンストラクタのトップロードAngularFireと、ngOnInit()
のルーテッドファームが必要です。コンストラクタが最初に呼び出されたので、ルータParamを使用してAngularFireを呼び出すことはできません。AngularFireとAngular2の動的ロードページ
これが今の私のコードです:
export class StaticContentComponent {
pagename;
isHome;
ngOnInit(): void {
this.route.params.forEach((params: Params) => {
this.pagename = params['pageName'];
this.isHome = (this.pagename == 'home');
});
}
pagecontent: FirebaseObjectObservable<any[]>;
constructor(af: AngularFire, private route: ActivatedRoute) {
this.pagecontent = af.database.object('/pages/content/' + this.pagename);
}
}
私は他のINITを使用して、それらを切り替えることを試みたが、エラーの大きな赤いラインは、ログに表示されます。
また、AngularFireだけのサービスを使用する必要がありますか?私は確信していません、AngularFireの例はそれらを使用しません。
ありがとうございました。
答えのThnx。私がコードを試してみたら、私はafを見つけたら "見つけられない"というメッセージを出しました:AngularFire; (未定義のプロパティ 'params'を読み取ることができません) 未定義のプロパティ 'params'を読み取ることができません – user1664803
私は自分の答えを更新しました。 'af:AngularFire'の前に' private'キーワードを追加するのを忘れました –
それは働いています。ありがとう。 – user1664803