重新编译globalData被清空
发布于 6 年前 作者 qiang49 15845 次浏览 来自 问答

在app.js中接口请求成功后设置globalData,然而在开发者工具上刷新重新编译,刚才设置的globalData就清空了?

对比storage,两者哪个更合适呀,感觉每次用getStorage去拿数据也怪尴尬的


// 函数体

let _this = this

this.ajax(initObj)

   .then(res => {

            _this.globalData.initInfo = res
            for (let key in res) {
                if (res.hasOwnProperty(key)) {
                    wx.setStorageSync(key, res[key])
                }

            }

})



// 全局变量

globalData: {
        initInfo: {}
    }

3 回复

我也来留下我对globalData和strorage的理解吧,我想讲的是这两者保留时长的区别。

前者:当小程序进入后台一定时间或系统占用资源过高后会被销毁,所谓的后台,就是用户点击小程序左上角的关闭或按HOME键离开微信。一直到小程序被销毁后,globalData就会被清空,也就是下次打开时会被初始化。

后者:缓存可以一直存在,直到你在‘微信’–>下拉出我的小程序,或者在‘发现’–>‘小程序’,从这两处地方删除你用过的小程序,否则缓存的数据会一直在。

编译后就会初始化数据,肯定数据会丢失的啊。不丢失只能写到缓存中

看需求吧!。你如果确实需要缓存,那就用撒!!!

回到顶部