Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 从另一个命名空间向Ember数据存储注册模型_Ember.js_Ember Data - Fatal编程技术网

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的小例子吗?我想重复这个问题。