小程序使用setData()无效

想从数据库取一条记录,绑定到前端页面上,使用setData(),怎么也显示不出来。
找了一圈,最后还好解决了。

小程序在异步请求之后直接this.setData({}) 是不起作用的,因为this丢失,需要在请求之前定义that = this,
使用that.setData({}) 才可以,注意,that不能写成全局变量,一定要写在方法里,并且是异步请求之前!

解决方法来自:https://www.jianshu.com/p/45224ee5f3d5

wxml:

<view>{{item.content}}</view>

js文件

this.setData({
   item: res.data[0]
})  

修改为:

var that  = this;
...
that.setData({
   item: res.data[0]
})  
发布了21 篇原创文章 · 获赞 0 · 访问量 609

猜你喜欢

转载自blog.csdn.net/immocha/article/details/103263252
今日推荐