下面小编就为大家带来一篇浅谈小程序开发this.setData is not a function;at api request success callback function解决方法。小编觉得挺不错的,现在就分享给大家,如果你在找小程序插件,企业付款,也可以做个交流。一起跟随小编过来看看吧。
小程序开发this.setData is not a function;at api request success callback function解决方法
作者:微信小程序观察员 发布时间:2018-03-22
小程序开发和小程序插件开发中,
经常使用setData()方法,
把数据发送给前端渲染。
但是有学员给子恒老师反映,
他们在开发时遇到下面的错误:
“this.setData is not a function;at api request success callback function”
一、 this.setData is not a function错误分析
明明 setData() 是一个函数,
怎么还提示没有这个函数呢。
其实主要问题是 this 这个关键词,
上面的提示指出:
在回调函数中(callback function),
没有 this.setData() 这个函数。
二、 解决方法
你不要在回调函数中使得 this.setData(),
应该在回调函数外面定义一个变量,
或者直接定义一个全局变时,
保存 app 这个对象。
关键代码如下
onLoad() {
var that = this;
wx.request({
...
success:function() {
// this.setData(); // 出错
that.setData();
}
...
});
}
三、 温馨提示
在 js 开发中,
this 代表当前对象,
而进入到回调函数中,
对象已经不是小程序 app 对象了,
所以就没有 setData() 函数。
一些小程序开发的朋友,
喜欢喜欢直接使用 this,
因为简单。
但是 this 在代码的上下文中,
经常会变化,
你不容易知道它到底指哪个对象。
从而导致出错。
声明:部分文章或图片未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知QQ:2334512685,我们会及时删除。
发布:秦子恒博客,欢迎转载分享,请保留出处。
小程序开发this.setData is not a function;at api request success callback function解决方法链接:https://www.qinziheng.com/details/5791/
小程序开发this.setData is not a function;at api request success callback function解决方法相关文章