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.js_Ember Data - Fatal编程技术网

Ember.js 是否在存储上创建新方法?

Ember.js 是否在存储上创建新方法?,ember.js,ember-data,Ember.js,Ember Data,我和我的同事正在构建一个应用程序,它与两个不同的api端点进行通信。不幸的是,它有时需要对两个端点执行多个请求,并将答案合并到一个大数据结构中 到目前为止,我们已经通过覆盖ApplicationAdapter中的查询方法完成了这项工作,但是遇到了一个问题,因为我们有时只需要发出一个请求 我们现在希望能够向存储添加新方法,而不是: this.get('store').query(somemodel, params); 我们希望能够做到: this.get('store').multipleQue

我和我的同事正在构建一个应用程序,它与两个不同的api端点进行通信。不幸的是,它有时需要对两个端点执行多个请求,并将答案合并到一个大数据结构中

到目前为止,我们已经通过覆盖ApplicationAdapter中的查询方法完成了这项工作,但是遇到了一个问题,因为我们有时只需要发出一个请求

我们现在希望能够向存储添加新方法,而不是:

this.get('store').query(somemodel, params);
我们希望能够做到:

this.get('store').multipleQuery(somemodel, params);

在适配器中,创建新方法很容易,因为我们只需添加它即可。但是,我们如何在存储上创建新方法,以及如何确保适配器使用我们的扩展类?

那么,存储只是一个服务,因此您可以覆盖和扩展它:

services/store.js

但您必须了解,适配器不使用存储,存储正在使用适配器

还要开始知道您需要使用私有API。我想知道这家商店是如何运作的


但我认为你应该使用适配器。为什么不干脆做
store.query('model',{multiple:true})
之类的事情呢?

好吧,商店只是一个服务,所以你可以覆盖和扩展它:

services/store.js

但您必须了解,适配器不使用存储,存储正在使用适配器

还要开始知道您需要使用私有API。我想知道这家商店是如何运作的


但我认为你应该使用适配器。为什么不干脆做
store.query('model',{multiple:true})
之类的事情呢?

谢谢你的回答,这正是我们意识到的。我们在使用私有API时遇到了一些问题,因为它们应该随着时间的推移而改变,所以我们只使用适配器,并提供了一个额外的选项。感谢您的回答,这正是我们所意识到的。我们对私有API有一些问题,因为它们应该随着时间的推移而改变,所以我们只使用适配器,并提供一个额外的选项。
import DS from 'ember-data';

export default DS.Store.extend({
  multipleQuery() {...}
});