我需要覆盖Ember cli中的DS.Store.findQuery
。这本身就没有问题。
问题是从'finder'文件导入_findQuery方法 - 在新的app / store.js文件中
this._findQuery无法正常工作
https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/store.js
function ember$data$lib$system$store$finders$$_findQuery(adapter, store, typeClass, query, recordArray
有没有人对所需的进口声明提出一些建议。
这是一些失败的尝试
import DS from 'ember-data';
import Ember from 'ember';
//import _findQuery from 'ember-data/lib/system/store/finders'; NOPE
//import _findQuery from 'ember-data'; NOPE
export default DS.Store.extend({
findQuery: function(typeName, query) {
var type = this.modelFor(typeName);
var array = this.recordArrayManager
.createAdapterPopulatedRecordArray(type, query);
var adapter = this.adapterFor(type);
Ember.assert("You tried to load a query but you have no adapter (for " + type + ")", adapter);
Ember.assert("You tried to load a query but your adapter does not implement `findQuery`", typeof adapter.findQuery === 'function');
var x = _findQuery(adapter, this, type, query, array); // <-- URGH HERE
return promiseArray(x);
},
答案 0 :(得分:0)
我不确定您是否能够以您描述的方式导入它,但您可以在适配器上执行此操作。
您应该能够为每个适配器覆盖它,或者如果您想在任何地方覆盖它,请覆盖您的应用程序适配器。
喜欢这个
import DS from 'ember-data';
import Ember from 'ember';
export default DS.ActiveModelAdapter.extend({
findQuery (typeName, query) {
// do your stuff here
}
});