template模板中写了循环时,循环内部可以调用外部的值
但是如果动态改变循环数组的值,内部调用的外部值将被清空
< template is = "testName" data = "{{...testData}}" /> < template name = "testName" > < view bindtap = "testChange" > {{key1}} < block wx:for = "{{key2}}" wx:key = "*this" > {{key1}} {{item}} </ block > </ view > </ template > |
var pageData = { data: { testData: { 'key1' : 'value1' , 'key2' : [ 'value2_1' , 'value2_2' ]} }, testChange: function (){ this .setData({ testData: { 'key1' : 'value1' , 'key2' : [ 'value2_3' , 'value2_4' ]} }) } } |
页面先显示
value1 value1 value2_1 value2_2
点击后触发testChange事件,内容变为
value1 value2_3 value2_4
问题来了
循环内部写的{{key1}}跑哪了?
把外部数据用setData方法试试
that.setData({
变量名:外部数据
})
我遇到一个差不多的,这样解决了,不知道能不能帮到你
更新一下,是template模板中写循环时,循环内部无法调用外部的值,求解决方案