Vue.js 将数据从Electron Vue应用程序中的axios响应直接保存到本地存储

Vue.js 将数据从Electron Vue应用程序中的axios响应直接保存到本地存储,vue.js,local-storage,electron,axios,Vue.js,Local Storage,Electron,Axios,我正在尝试将一些数据保存到Electron应用程序中的localStorage,基于Vue.js,使用axios,如下所示: mounted () { axios.get(myURLhere).then(response => { let data = response.data data[anotherThing] = someElseDataHere this.localStorage['data'] = JSON.stringi

我正在尝试将一些数据保存到Electron应用程序中的localStorage,基于Vue.js,使用axios,如下所示:

mounted () {
    axios.get(myURLhere).then(response => {
        let data = response.data
        data[anotherThing] = someElseDataHere
        this.localStorage['data'] = JSON.stringify(data)
    })
}
localStorage['data'] = JSON.stringify(data)
在“then”中,块数据变量是正确的。但是在localStorage data=某个空的观察者对象


我做错了什么?“then”-块是否不足以等待数据存储在localStorage中?在这种情况下,我如何在代码中等待它呢?

我使用vue localStorage。出于某些原因,它没有正确地执行数组到字符串的转换:

this.$localStorage.set('data', data) // data will be not an Array, but an Observer instance
这就是为什么我正确地存储了对象实例,但是数组有一个错误。因此,要解决此问题,您需要直接使用localStorage,如下所示:

mounted () {
    axios.get(myURLhere).then(response => {
        let data = response.data
        data[anotherThing] = someElseDataHere
        this.localStorage['data'] = JSON.stringify(data)
    })
}
localStorage['data'] = JSON.stringify(data)

告诉我检查localStorage的人部分是对的,问题出在localStorage。

localStorage
是一个全局对象。您是否有意定义了Vue的
localStorage
属性(您正在使用
this.localStorage
)?是的,我定义了。LocalStorage(this.LocalStorage)运行良好。问题是axios处理获取请求时遇到了一些问题。因为localStorage在其他情况下工作正常。如果要将其直接保存到localStorage,请使用window.localStorage,而不是this.localStorage。或我错过什么了吗?我想没什么区别。。。因为本地存储的所有其他操作都正常。我通过“this”与localStorage进行所有交互,它是有效的。在这种情况下,它也起作用。但这并不正确。由于该值不为null,因此它是观察者类型的对象。但观察者是空的。这意味着在观察者从服务器获取数据之前处理的代码。LocalStorage将观察者作为值。但我需要存储一个带有响应数据的对象,而不是仍然在等待响应的空承诺。