在 Ember 对象中深度包装 JSON 响应对象
Deep-wrapping of JSON response objects in Ember Objects
我目前正在做一个Ember项目,我在Route
的model
函数中获取一个复杂的JSON响应。在相应的模板中,我显示响应的属性。对于其中一些,有一些可用的操作会导致此模型发生变化。
我希望这些更改使用 Ember 的绑定直接反映在 UI 中。不幸的是,虽然使用 this.get('attributeFromJson')
访问ObjectController
中的顶级响应属性效果很好,但在其中一个子属性上尝试相同(或set
(不起作用。
我制作了以下JSFiddle来演示这个问题:http://jsfiddle.net/KkD6U/
我的理解是,我需要手动将响应转换为Ember.Object
,以便从其Ember.Observable
混合中受益。
我的问题是:是否有任何简单的 Ember 方法可以自动将整个 JSON 响应"深度包装"为Ember.Object
结构,以便在整个响应上使用get
和set
?简单的余烬方法是什么?
更新:
同时,我构建了一个简单的函数来将普通JS对象转换为Ember对象,请参阅jsFiddle:http://jsfiddle.net/5vEcL/1/
看起来可行吗?
我的理解是,我需要手动将响应转换为Ember.Object,以便从其Ember.Observable mixin中受益。
基本上是的,如果你将子对象包装在一个Ember.Object.create(...)
它将与 ember 的绑定机制一起工作:
...
anArray: [
Ember.Object.create({
id: '1',
anotherAttribute: '123'
}),
Ember.Object.create({
id: '2',
anotherAttribute: '456'
})
]
...
在这里看到上面示例的修改后的 jsfiddle:http://jsfiddle.net/ZZFkA/
希望对您有所帮助。
相关文章:
- jQuery匹配JSON对象的部分文本
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 我应该如何将响应数据保存在对象(json)中以获得更好的操作和性能
- 用javascript从列表对象(JSON的)构建diffrent选项卡
- php请求带有多个对象json-jquery
- AngularJS,过滤器:如何将一个巨大的对象(JSON)变成一个数组
- 动态属性对象 - JSON
- JavaScript 对象 (JSON) 中的动态设置值
- 从数组查询获取对象 JSON 值时出错
- 使用jQuerygetJSON将多维对象JSON转换为HTML
- 需要从 Angular JS 应用程序中的另一个 JSON 对象数组填充 JSON 数组的每个对象 JSON 对象数组
- 嵌套对象JSON排序JavaScript
- PHP在MySQL中保存来自Javascript的对象"JSON.stringify"通过Ajax
- 将JavaScript对象/ JSON转换为PHP数组
- JSON对象.JSON对象内部
- 访问对象的对象- JSON API
- 数组到对象JSON
- Message":"传入的无效对象(JSON数据格式化问题)