vue localforage 没有更新

Vue localforage no update

我正在使用 localforage,但我不明白为什么 this.emails 没有在 localforage 之外更新。我在控制台中没有收到任何错误。

localforage.getItem("emails").then(function (value) {
                        this.emails = value
                        console.log(value)   // shows correct value
                        console.log(this.emails) // shows correct value
                    }).catch(function (err) {
                        console.log(err); // no error is thrown
});

函数有一个 this 作用域。因此,当您设置 this.emails 时,您设置的是函数的 this.emails 而不是 Vue 组件。

您可以使用 bind 来处理这个问题,但更简单的方法是在 then 中使用匿名函数,如下所示:

localforage.getItem("emails").then((value) => {
    this.emails = value
})