zoukankan      html  css  js  c++  java
  • 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

    };

  • 相关阅读:
    我知道开发已经接近于成功了
    反射获取运行时属性值的替代方法
    Fix Visual Studio 2013 Razor CSHTML Intellisense in Class Library or Console Application
    领域模型
    UI设计心得
    ADO.NET EF 中的实体修改方法
    .net与com组件
    win8设置开机启动项
    编程架构
    禁止UITextField 使用粘贴复制功能
  • 原文地址:https://www.cnblogs.com/zzu-han/p/js-data-manage-thinking.html
Copyright © 2011-2022 走看看