store一般用来与服务器交互,并在交互后将服务器发送来的数据存储在data中。
最近遇到了有几个view需要从同一个store里获取数据,而且每个view要的数据也不尽相同。
假设data里存储的是一个人的个人信息,如下:
sotre.data =
{
name : 'lucy',
age: 20,
gender: 'women',
job: 'teacher',
phoneNumber: '138xxxxxxxx'
}
view1需要[name,age];
view2需要[gender,job];
view3需要[name,age,gender]。
是否可以在Store里写一个getItems函数:
/**
*args 为需要获取的数据字符串数组
*/
getItems function(args){
var length = args.getLength();//要获取的数据的个数
var oriData = this.getData();//store中的数据
var tempData = [];//空数组,用来存放被获取的数据的值
for(var i = 0 ; i < length; i ++){
tempData.push({
args[i]:oriData[args[i]]
});
}
}
这样的话,view1就调用store.getItems([name,age])就可以啦~
原标题:关于Store中获取数据的一些想法
关键词: