私はAngular 2を学び、Angular CLIを使ってAngular 2で作成したAngular 1アプリを再構築しようとしています。私は正常に起動するHTTP GET要求をセットアップし、結果を解釈するためにサブスクライバをセットアップし、サブスクライバ機能のコンソールログは私が期待するデータを表示します。ただし、テンプレート上のデータは更新されません。テンプレートで観測可能なデータが更新されていません
データを初期値、ngOnInitの値、およびサブスクライバ関数に設定しようとしましたが、initialとngOnInitはそれに応じてテンプレートを更新しました。私の人生のために、なぜテンプレートが購読で更新されないのか理解できません。
events: any[] = ['asdf'];
constructor(private http: Http) {
}
ngOnInit() {
this.events = ['house'];
this.getEvents().subscribe(this.processEvents);
}
getEvents(): Observable<Event[]> {
let params: URLSearchParams = new URLSearchParams();
params.set('types', this.filters.types.join(','));
params.set('dates', this.filters.dates.join(','));
return this.http
.get('//api.dexcon.local/getEvents.php', { search: params })
.map((response: Response) => {
return response.json().events;
});
}
processEvents(data: Event[]) {
this.events = ['car','bike'];
console.log(this.events);
}
データはngForで表示されますが、車と自転車は表示されません。どこが間違っていたのですか?
説明をいただきありがとうございます。私はコードを複製するのを避けるために別の関数を使用していますので、2番目のオプションを使用することもできますが、一般的には3番目のオプションを選択します。ありがとうございました。 – RhoVisions