【发布时间】:2017-02-03 20:10:40
【问题描述】:
我正在尝试学习 Angular 2,并正在使用 Angular CLI 重建我使用 Angular 2 制作的 Angular 1 应用程序。我已经设置了一个成功触发的 HTTP GET 请求,并设置了一个订阅者来解释结果,并且订阅者函数中的控制台日志显示了我期望的数据。但是,模板上没有数据正在更新。
我尝试将数据设置为初始值、ngOnInit 和订阅者函数中的值,并且初始值和 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 显示,但汽车和自行车从不显示。我哪里出错了?
【问题讨论】:
标签: javascript angular rxjs