赞
踩
官网文档在使用setData()设置数组对象的某个元素的属性时,是这么使用的:
- Page({
- data: {
- array: [{text: 'init data'}],
- },
- changeItemInArray: function() {
- this.setData({
- 'array[0].text':'changed data'
- })
- }
- })
使用了 ‘array[0].text’ : ‘changed data’ 这样的值。但在实际使用中,我们对数组的中的某个元素的设置是动态的。即 我们通常应该是 ‘array[‘+index+’].text’ : ‘changed data’ ,其中index应该是一个动态的数字。但显然,这样是无法使用在对象的key中的。
所以,我只能使用了一个变通的方法。如下:
- var param = {};
- var string = "array["+index+"].text;
- param[string] = 'changed data';
- that.setData(param);
其实也可以set整个对象 ,原理大概就是这样
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。