Ember.js 如何将数组代理的内容绑定到另一个对象的值?

Ember.js 如何将数组代理的内容绑定到另一个对象的值?,ember.js,Ember.js,我有一些数据如下: var organizations = Ember.ArrayProxy.create({ content: [{ // organization model data here contacts: [{ // contact model data here }] }] }); var contacts = Ember.ArrayProxy.extend({ _organizat

我有一些数据如下:

var organizations = Ember.ArrayProxy.create({
    content: [{
        // organization model data here
        contacts: [{
            // contact model data here
        }]
    }]
});
var contacts = Ember.ArrayProxy.extend({
    _organizations: organizations,

    content: function() {
        // return a flat array of contacts (I know how to do this part)
    }.property('_organizations.@each.contacts').readOnly()
});
我想创建一个ArrayProxy,用于聚合组织对象中的所有联系人。大概是这样的:

var organizations = Ember.ArrayProxy.create({
    content: [{
        // organization model data here
        contacts: [{
            // contact model data here
        }]
    }]
});
var contacts = Ember.ArrayProxy.extend({
    _organizations: organizations,

    content: function() {
        // return a flat array of contacts (I know how to do this part)
    }.property('_organizations.@each.contacts').readOnly()
});

尝试上面给出的错误,我认为是因为ArrayProxy不喜欢它的内容被这样扩展。正确的方法是什么?

只是想一想,我们可以在init上填充联系人的内容吗?我可以这样做,但是如果我编辑了组织上的联系人,那么聚合ArrayProxy将不会反映更改。添加一个观察者并更新内容怎么样。事实上,你在这里所做的应该是相同的,但由于它导致了一个问题,这就像手动操作一样!organizations.on('@each.contacts',update_contacts)-然后我需要组织直接了解联系人,这是我宁愿避免的。