将服务器响应映射到骨干模型的可行方法
Feasible way to map server response into Backbone models?
服务器以表单上的内容响应:
{'dates':
{'2013.05-17':
{'activities':
{'activity 1':
{time: 0, 'synced': false},
'activity 2':
{time: 5, 'synced': false},
'activity 3':...
},...
},
'2013.05-18':
{ ...}, ...},
'id': id}
我目前把所有的东西放在一个单一的骨干模型,这似乎不是正确的方式来做它。我在网上读到的例子都是使用非常简单的模型,没有依偎结构,映射非常简单,例如{x: 1, y: 2}
被映射到坐标模型等等。
将上述JSON结构映射到backbone模型/集合的"正确"方式是什么?
正如Protostome所提到的,主干关系对于这类事情是很好的。
然而,看看JSON数据,你已经使用作为一个例子,从我的观点来看,你只有一个模型和集合如下:
- <
- 活动模型/gh>
- 活动收集
即使你有一个嵌套的数据集,你也可以用不同的方式来看待它,这给了你一个简单的骨干模型,例如:
var activity = {
id: "Activity 1"
time: 0,
synced: false,
date: "2013.05-17"
batchId: id // this corresponds to the id property in your example
}
这更简单地表示了包含在复杂嵌套层次结构中的所有数据,更重要的是适合于Backbone的工作方式。
如果你不能改变服务器提供给你的内容,你可以使用Underscore库函数(来自memory _.map())将你接收到的JSON映射成简单的JSON对象,以便与Backbone一起使用。
我希望也许你可以通过在坚持层次结构的背景下思考来简化你的设计?
相关文章:
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- sails.js beforeCreate方法只接收required设置为true的模型属性
- 在extJS 4.2中,有没有一种方法可以将模型值动态绑定到表单
- 有没有一种方法可以在设计模式下将ng模型或工厂绑定到iframe
- Odoo销售点如何访问模型并使用JS调用方法
- 有没有一种方法可以使用angular中的$index作为ng重复中的模型
- Ember.js-模型find()方法中的异步调用
- Django 使用 JSON 获取模型方法的值
- 如何将经度/经度值绑定到挖空视图模型方法
- 主干模型方法未递增
- 从父级转换时,不会触发 Ember 子路由模型方法
- 主干.js - 模型方法中“this”的范围
- 用javascript调用模型方法
- Angular2服务调用模型方法
- 如何覆盖现有的骨干模型方法,保持其他方法相同
- Backbone model.get()在模型方法中未定义
- 动态定义猫鼬模型方法
- 尝试导航时模型方法错误
- SailsJS覆盖模型方法
- 如何在blueprint api中显示模型方法