GJK*_*GJK 3 ember.js ember-data
在Ember-Data中使用hasMany和belongsTo关系时,是否必须指定一个类,还是可以指定mixin?例如,我有一个Attachement模型,我想链接到其他一些模型.具体来说,我想将Attachements 分配给Projects和Components.我可以使用一个混合Projects和Component并用它混入如像下面的逆?
App.Attachment = DS.Model.extend({
attachedTo: DS.belongsTo('canHaveAttachments', { inverse: 'attachments'});
});
App.CanHaveAttachmentsMixin = DS.Mixin.create({});
App.Project = DS.Model.extend(App.CanHaveAttachmentsMixin, {
attachments: DS.hasMany('attachment', { inverse: 'attachedTo' });
});
Run Code Online (Sandbox Code Playgroud)
这是Ember正式支持的吗?
小智 6
在我们使用Ember 2.4的项目中,我们有很少的实体,任务,分配和标签.任务可通过多态关联进行标记和分配.
这是我们的模型结构:
// app/models/task.js
import DS from 'ember-data';
import Taggable from 'app/mixins/taggable';
import Assignable from 'app/mixins/assignable';
export default DS.Model.extend(Taggable, Assignable, {
});
// app/models/tag.js
import DS from 'ember-data';
export default DS.Model.extend({
taggable: DS.belongsTo('taggable', { polymorphic: true }),
});
// app/models/assignment.js
import DS from 'ember-data';
export default DS.Model.extend({
assignable: DS.belongsTo('assignable', { polymorphic: true }),
});
// app/mixins/taggable.js
import Ember from 'ember';
import DS from 'ember-data';
export default Ember.Mixin.create({
tag: DS.belongsTo('tag'), // you can go with hasMany here, we only have one-to-one association
});
// app/mixins/assignable.js
import Ember from 'ember';
import DS from 'ember-data';
export default Ember.Mixin.create({
assignment: DS.belongsTo('assignment'), // you can go with hasMany here, we only have one-to-one association
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
667 次 |
| 最近记录: |