在Ionic 2上修改attributte后查看不清理

时间:2017-09-24 07:07:38

标签: angular ionic2 promise es6-promise

我不知道为什么,但是在一瞬间我开始遇到离子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();来强制“查看刷新”,但这不应该是必要的。

0 个答案:

没有答案