6.5.2更新后模板传值问题
发布于 7 年前 作者 tao44 18433 次浏览 来自 问答

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}}跑哪了?

2 回复

把外部数据用setData方法试试

that.setData({

    变量名:外部数据

})

我遇到一个差不多的,这样解决了,不知道能不能帮到你

更新一下,是template模板中写循环时,循环内部无法调用外部的值,求解决方案

回到顶部