html52.com
我爱小程序-开发者交流社区

关于this.setData为什么不能成功赋值?

目的是把单选框内选的值记录下来,首先在js的data里定义了 a1:""

函数如下

b1: function(e,a1) {

console.log(e.detail.value)

this.setData({

a1: e.detail.value

})

console.log(a1)

},

实际选择结果如下:

林表明霁色,城中增暮寒

undefined

很明显a1没有成功赋值,很奇怪

用了thsi.data.a1报错,甚至在app.js里的globalData里声明了 a1:""也没用

为什么这个传值那么复杂?

方便回答一下吗?谢谢了

网友回复

-Arong:

这里console的a1是函数里面的a1不是this.data里面的,你这个this打错了这里console的a1是函数里面的a1不是this.data里面的,你这个this打错了未闻花名:首先 你使用this.setData({	a1:e.detail.value}) 赋值的是你整个page 中data对象中的a1,

未闻花名:

首先 你使用

this.setData({

a1:e.detail.value

})

赋值的是你整个page 中data对象中的a1,并不是你传过来的a1,所以你打印传过来的a1肯定是没有值的,你应该打印this.data.a1,其次你在app.js里的globalData里声明了a1,你应该使用app.globalData.a1 = e.detail.value(你要先const app = getApp() 获取到app)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付