微信小程序_Bug解决_setData失效
发表时间:2020-9-21
发布人:葵宇科技
浏览次数:93
问题描述
想通过wx.setData修改page信息,但是无论怎样都修改不掉。
问题解决
起初我以为是函数里面this指向问题,最后发现不是。
代码如下:
nextPage() {
let that = this;
this.setData({
page: (this.data.page)++
},that.getNews(this.data.page,that.data.num));
console.log(that.data.page,that.data.num);
},
最后突然想到 “ ++ ” 是自增运算符,先使用后计算,
我这么写,实际运算下来,等效于
page: (this.data.page);
(this.data.page)++
// 实际将 page 原来的值 又赋值给了page
而微信小程序 (this.data.page)++ ,它并不会修改data里面的数值。必须使用setData进行赋值。
只需要把 “++” 自增运算符放前面就好了。
nextPage() {
let that = this;
this.setData({
page: ++(this.data.page)
},that.getNews(this.data.page,that.data.num));
console.log(that.data.page,that.data.num);
},
这样就解决了,page数目正常+1。