js数据管理的思考

最近要做一个农场项目,涉及到很多js数据管理的需求,这里也做下总结,不断的总结,再修正内容,也是快速进步的方法。

数据管理几个方面考虑:

* 设置(更新)字段值

* 检索,根据id, index, 属性{name:'han'}

实际需求:

数据结构
seeds:{

  white: 30,

  blue: 10,

  gold: 2

}



plants: [{
  id: '333'
  seedType: 'white',
  matureInterval: '3000',
  fertilize: '2000'
}, {



}];

问题1:如果一个plant[id] 为333的数据要拿出来,我怎么能快速从dataset.plants中取出这个数据对象。

问题2:监听数据改变,传入什么参数?

bind('change', function(model){})

直接将这个model实例传入进去。

callback中this指向这个实例,一般监听也都是根据model更改视图(View)或者操作model。

对于问题1,参考下Backbone.Collection中。

Backbone.Collection 中有get(id) at(index)检索方法。

如果要get(id)获取,有个_byId: {

  id1: model1,

  id2: model2

}; 这样一个检索表。

Collection中有.models = [model1,model2, model3] 这样的存贮数据数组。

at方法就直接从 .models[index] 来获取

把它都变成 dataset.plants = {

  '333': plantObj,

  '444': plantObj

};

原文地址:https://www.cnblogs.com/zzu-han/p/js-data-manage-thinking.html