Ember.js 从另一个命名空间向Ember数据存储注册模型
我正在开发一个共享库,其中包含调用应用程序所使用的内部余烬数据模型。但是,库中的那些Ember.js 从另一个命名空间向Ember数据存储注册模型,ember.js,ember-data,Ember.js,Ember Data,我正在开发一个共享库,其中包含调用应用程序所使用的内部余烬数据模型。但是,库中的那些DS.Model对象无法进入调用应用程序的存储区 library.js DS.SharedLibrary.User = DS.Model.extend({}); DS.SharedLibrary.BaseModel = DS.Model.extend({ createdBy: DS.belongsTo('DS.SharedLibrary.User') }); App.MyModel = DS.Share
DS.Model
对象无法进入调用应用程序的存储区
library.js
DS.SharedLibrary.User = DS.Model.extend({});
DS.SharedLibrary.BaseModel = DS.Model.extend({
createdBy: DS.belongsTo('DS.SharedLibrary.User')
});
App.MyModel = DS.SharedLibrary.BaseModel.extend({
customField: DS.attr()
});
app.js
DS.SharedLibrary.User = DS.Model.extend({});
DS.SharedLibrary.BaseModel = DS.Model.extend({
createdBy: DS.belongsTo('DS.SharedLibrary.User')
});
App.MyModel = DS.SharedLibrary.BaseModel.extend({
customField: DS.attr()
});
但是,当适配器开始解析createdBy
关系时:
Error: No model was found for 'DS.SharedLibrary.BaseModel'
如何将存在于另一命名空间中的对象通知我的存储?您可以通过在库中设置应用程序来注册自定义模型。初始值设定项:
Ember.Application.initializer({
name: 'myLibrary-models',
initialize: function(container, application) {
//one of these calls for each model you need to register
application.register('model:DS.SharedLibrary.User', DS.SharedLibrary.User);
}
});
然后,应用程序的模型可以像其他模型一样引用它们:
App.MyModel = DS.Model.extend({ createdBy: DS.belongsTo('DS.SharedLibrary.User') });
你能提供一个关于jsbin的小例子吗?我想重复这个问题。