微信小程序 setData accepts an Object rather than some undefined 解决办法

问题

setData accepts an Object rather than some undefined

setData接受一个对象而不是一些定义

让我猜猜, 你一定是在加载index页面(首页)时报错的吧? 而且日了狗的开发工具不报微信调试报

解决

这个问题很扯淡, 其实就是你在app.js中一次性request了一些数据, 暂存到app.globalData中

再通过以下代码, 渲染在需要用到这种数据的地方
页面.js

var app = getApp()

Page({
    data:{
    },

    onLoad: function (options) {
        this.setData(app.globalData.xxx)
    }
})

我估计你是这么出错的, 并且这种方法应用在其他页面没问题, 就出现在了首页.

估计是app.js里request异步访问的原因, 直到网页加载完成了 都还没得到数据. 造成了this.setData(null)的现象

真-解决办法 (我不bb了)

“`
this.setData(app.globalData.xxx)
放到
onReady事件里, 就解决了. Ready比Load后执行. 可能会出现打开瞬间没有数据, 然后填充的现象

posted @ 2018-02-07 23:40  余晓波  阅读(168)  评论(0编辑  收藏  举报