已验证i=7, 控制台已经成功打印了以下要打印的,但是outcolor1一直到outcolori却没有值?为何?哪里写错了?
onClickL2Out(res) {
console.log("layer2", res)
for (var i = 1; i <= this.data.outarray.length; i++) {
if (res.target.id == "out" + i) {
console.log("i", i)
console.log("outcolor" + i)
this.setData({
outcolori: bacgrocolor
})
} else {
this.setData({
outcolori: ""
})
}
console.log("outcolori",this.data.outcolor1,this.data.outcolor2,bacgrocolor)
}
控制台打印:
<view class="layer2box" wx:if="{{isShowOut}}" bindtap="onClickL2Out" >
<view class="layer2style" style="background-color:{{'outcolor'+(index+1)}}" wx:for="{{outarray}}" wx:key="*this">
<view id="out{{index+1}}">{{index+1}}_{{item}}view>
<icon id="outicon{{index+1}}" type="success" size="20rpx" color="{{iconcolor}}">icon>
view>
view>
此时,outcolor1 = #AFEEEE, 但是WXML没有渲染? 如果渲染的话,1_外形就应该显示具体的底色#AFEEEE,但是结果却没有。为何?
没理解你的问题你这边的赋值都是outcolori 你打印的outcolor1这些在你的代码片段中没有出现赋值
this.setData({
[`outcolor${i}`]:bacgrocolor
})