gpt4 book ai didi

javascript - Ember 对象中 JSON 响应对象的深度包装

转载 作者:行者123 更新时间:2023-11-28 08:50:16 25 4
gpt4 key购买 nike

我目前正在开发一个 Ember 项目,在该项目中,我在 Routemodel 函数中获取复杂的 JSON 响应。在相应的模板中,我显示响应的属性。对于其中一些人来说,某些可用的操作会导致此模型发生变化。

我希望使用 Ember 的绑定(bind)将这些更改直接反射(reflect)在 UI 中。不幸的是,虽然使用 this.get('attributeFromJson') 访问 ObjectController 中的顶级响应属性效果很好,但尝试相同的方法(或 set) 在子属性之一上不起作用。

我生成了以下 JSFiddle 来演示该问题:http://jsfiddle.net/KkD6U/

我的理解是,我需要手动将响应转换为 Ember.Object 才能从其 Ember.Observable mixin 中受益。

我的问题是:是否有任何简单的 Ember 方法可以自动将整个 JSON 响应“深度包装”到 Ember.Object 结构中,以使用 getset 整个响应?执行此操作的简单 Ember 方法是什么?

<小时/>

更新:

与此同时,我构建了一个简单的函数来将普通 JS 对象转换为 Ember 对象,请参阅此处的 jsFiddle:http://jsfiddle.net/5vEcL/1/

看起来可行吗?

最佳答案

My understanding is that I would need to convert the response into a Ember.Object manually in order to benefit from its Ember.Observable mixin.

基本上是的,如果您将子对象包装在 Ember.Object.create(...) 中,它将与 ember 的绑定(bind)机制一起使用:

...
anArray: [
Ember.Object.create({
id: '1',
anotherAttribute: '123'
}),
Ember.Object.create({
id: '2',
anotherAttribute: '456'
})
]
...

请参阅上面示例的修改后的 jsfiddle:http://jsfiddle.net/ZZFkA/

希望有帮助。

关于javascript - Ember 对象中 JSON 响应对象的深度包装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19234097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com