请教一些关于动态拼接变量的写法问题?
在页面调用js方法时,传了一个在页面上拼接的参数 例如 data-item = "list[{{listIndex}}].children[{{childrenIndex}}]"
js 接收时,例如 itemStr = "list[0].children[0]"
请问如何获取data中的值呢
我的目的是,通过方法修改item并保存,由于小程序不完全支持双向绑定,所以就像传一个字符串作为setData方法的key去渲染
目前我的处理如下,可以实现,但是觉得有点绕,想看看有木有更好的方法。
<view wx:for="{{lst}}">
<view wx:for="{{item.children}}" wx:for-item="tag" wx:for-index="tagIndex"
data-item="{{tag}}" data-itemname="list[{{index}}].children[{{childrenIndex}}]"
data-listname="{{lst}}" bindtap="handleClick">
</view>
</view>
handleClick(event){
let item = event.currentTarget.dataset.item //通过传参
let itemname = event.currentTarget.dataset.itemname
let listname = event.currentTarget.dataset.listname
let lst = this.data[listname] //由于listname只是简单的一个字符串因此可以这样获取
//let item = this.data[itemname] //开始是这样想的,但仔细一看就会发现有问题,通过实践发现写法不行
对item进行操作:xxxx
对list进行操作:xxxx
this.setData({
[itemname]:item,
[listname]:lst
})
}