赞
踩
ListModel中的数据可以看作是一个Object,可以使用Object中的方法,常用方法如下图。
但在创建新的对象和添加数据时,却和常规的Object不一致,需要特殊处理,代码如下。
- property var listModel: ListModel{}
- function testModel(){
- var ob={};
- ob.name = "11";
- ob.age =18;
- ob.detail2 = {}
- listModel.append(ob);
- var data = listModel.get(0);
-
- //修改属性成功
- var t1 ={"b":"bbbb"}; //先定义对象
- var t2 ={};
- t2.info = t1;
- data.detail2 = t2; //再使用对象
- console.log("2", JSON.stringify(data));
-
- //修改属性失败
- data.detail2.info ={"c":"cccc"}; //直接串联写入数据无效
- console.log("3", JSON.stringify(data));
-
- //添加属性失败
- // data.detail1 ={}; //添加对象数据失败
- // data.detail1.info ={"a":"aaaa"}; //TypeError
- // console.log("11", JSON.stringify(data));
-
-
- //添加属性成功
- var dataStr = JSON.stringify(data); //通过序列化添加数据
- var data2 = JSON.parse(dataStr);
- data2.detail1 ={};
- data2.detail1.info ={"a":"aaaa"};
- data = data2;
- console.log("11", JSON.stringify(data));
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。