你的位置:首页 > 操作系统

[操作系统]关于Store中获取数据的一些想法


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])就可以啦~