正如标题所述,我在理解如何在ember引擎中使用适配器方面有一些问题。
我目前正在使用ember@2.15、ember-data@2.15和ember-engines@0.5.14运行我的应用程序。我已经在我的主应用程序中使用了一个适配器,但是如果我试图在我的应用程序中复制一个基本适配器,页面将无限期地加载。
在我的路由中,我使用findAll方法调用适配器:
model()
{
"use strict";
console.log('In my route');
return this.get('store').findAll('my-adapter-name', {reload: true});
}在我的适配器中,我尊重我在应用程序内适配器中使用的语法:
import DS from 'ember-data';
import Ember from 'ember';
export default DS.Adapter.extend({
findAll: function (store, type, sinceToken, snapshotRecordArray)
{
console.log("In my adapter");
return new Ember.RSVP.Promise(function (resolve, reject)
{
// I accede to my websocket service here, nothing to do with my question
});
},
/* *
* My other function, like findRecord, ect...
*/
});正如您所看到的,我在代码中添加了一些console.log,我可以在我的路由中访问消息,这是在我的引擎中,但是我不能访问适配器中的消息,它也在我的引擎中。
我试图在我的应用程序中的适配器中放置一个console.log,并且正确地显示了消息,所以我确信这是因为我无法访问引擎中的适配器,所以如果有人知道我们应该如何在ember-engines中配置我们的适配器,这将是非常感谢的。
请注意,这是一个in-repo引擎。
发布于 2017-09-19 15:22:18
刚找到它,这有点棘手,但是您的models (和adapters)应该在myApp/lib/myEngine/app/models/中,而不是在myApp/lib/myEngine/addon/models中。
我不知道这是否有意这样做,但这是我在您的in-repo ember-engines.中找到的添加模型的唯一方法。
编辑--这将对serializers和transform起作用。
https://stackoverflow.com/questions/46300404
复制相似问题