因此,我将我们的应用程序从 ember-data 0.13 移动到 ember-data 1.0,当我想查找一个类型的所有/多个记录并从中创建计算属性时,我似乎遇到了“旁加载”问题。我有一个这样的模型:
App.Event = DS.Model.extend({
someAttributes : DS.attr('string'),
rel : DS.hasMany('rel'),
important: function () {
var rel = this.get('rel');
return rel.filterProperty('reactionType', 'important');
}.property('rel'),
whatever: function () {
var rel = this.get('rel');
return rel.filterProperty('reactionType', 'whatever');
}.property('rel')
})
来自服务器的 JSON 响应如下所示:
{events:
[{ someAttributes: 'attr1', rels: [1, 2, 4]},
{someAttributes: 'attr2', rels: [3]}],
rels:
[{ id: 1, reactionType: "whatever" },
{ id: 2, reactionType: "important" },
{ id: 3, reactionType: "important" },
{ id: 4, reactionType: "whatever"}]
}
那么首先,那个 JSON 响应正确吗?(还没有看到官方的例子)其次,我怎样才能让这样的计算属性工作?它适用于 ember-data 0.13。我还尝试将计算属性移动到“rel”模型,但这似乎没有任何效果。无论如何,希望这是有道理的,并感谢任何帮助。