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)-然后我需要组织直接了解联系人,这是我宁愿避免的。