【发布时间】:2014-02-26 17:44:11
【问题描述】:
我在工作应用程序中使用 EmberModel 已经有一段时间了,现在想重新使用 EmberData。我从 Ember 网站上的“模型指南”文档中注意到,在 EmberData 模型中定义 hasMany 关系的正确方法已经改变。在早期版本的 EmberData 中,我这样定义我的模型:
App.StratItem = DS.Model.extend({
id: DS.attr('string),
name: DS.attr('string'),
quantity: DS.attr('number'),
type: DS.attr('string'),
strategy: DS.belongsTo('strat')
});
App.Strat = DS.Model.extend({
id: DS.attr('string'),
stratName: DS.attr('string'),
sDate: DS.attr('number'),
eDate: DS.attr('number'),
stratItems: DS.hasMany('stratItem',{async:true})
});
如果我正确解释了当前文档,那么相同模型的正确定义现在应该是:
App.StratItem = DS.Model.extend({
id: DS.belongsTo('strat')
name: DS.belongsTo('strat')
quantity: DS.belongsTo('strat')
type: DS.belongsTo('strat')
});
App.Strat = DS.Model.extend({
id: DS.attr(),
stratName: DS.attr(),
sDate: DS.attr(),
eDate: DS.attr(),
stratItems: DS.hasMany('stratItem')
});
这是我的问题:
1) 我对文档的解释是否正确?
2) 如果是,那么为“StratItem”中的每个变量指定“belongsTo”的目的是什么,而我已经在“Strat”中指定了整个“StratItem”模型(即所有变量)都是'Strat'?
3) {async:true} 还需要吗?
我收到来自 Ember 的“加载路线时出错”错误消息,该错误消息用于处理旧版本的 Ember(版本 1.0 rc)和 Ember 数据;上述更改是我迄今为止所做的唯一更改。
【问题讨论】:
标签: ember.js ember-data