目的是把单选框内选的值记录下来,首先在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打错了
未闻花名:
首先 你使用
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)