我不知道为什么,但是在一瞬间我开始遇到离子2的奇怪问题(或者它的缺陷有角度)。
当我使用promise响应更新attributte值时,该值正在正确更新,但视图未刷新。例如,使用promises检索本地存储数据或模拟数据。
如果我做一个console.log,我可以看到我得到了新值,但视图没有更新。我使用ChangeDetectorRef
中的angular/core
,但我在所有承诺的回复中都使用detectChanges()
方法,这是一个丑陋的解决方法。
例如这段代码:
public getReminders(): void {
this.reminderProvider.getAllReminders().then((reminders) => {
this.reminders = reminders;
this.changeDetector.detectChanges();
})
.catch(() => {
this.setDefaultReminder();
});
}
public setDefaultReminder(): void {
this.reminderProvider.defaultReminder().then(defaultReminder => {
this.reminders.push(defaultReminder);
this.changeDetector.detectChanges();
})
.catch((err) => {
console.log(err);
});
}
我需要使用this.changeDetector.detectChanges();
来强制“查看刷新”,但这不应该是必要的。