我在 Ember 中有一个对象(我们称之为现有
):
var existing = {
items: [
...
],
...
}
在点击服务器端请求的回调中,有一个名为 result
的新响应,它看起来与现有
相同。我需要获取现有的items
,并将它们添加到新的结果
中。所以我有以下内容:
var result = { ... };
var existing = this.get('content');
result.items = result.items.concat(existing.items);
this.set('content', result);
问题是,在模板中渲染时,它只是显示 结果
中的新项目,现有
中的旧项目即使在项目
。有什么想法吗?
谢谢。
最佳答案
我猜问题是使用 Ember.Array
( http://emberjs.com/api/classes/Ember.Array.html ) 不支持的 concat
不会触发绑定(bind),因此您的 View 不会更新。要合并项目数组,您可以执行以下操作:
var result = { ... };
var existing = this.get('content');
result.items.forEach(item) {
existing.items.pushObject(item);
}
this.set('content', existing);
希望对你有帮助
关于javascript - Ember.js 如何连接两个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16657067/