[英]Ember, how to inherit from a custom Adapter
我有一個全球定制適配器 :
// app/adapters/application.js
import ActiveModelAdapter from 'active-model-adapter';
export default ActiveModelAdapter.extend({
namespace: 'api',
host: 'http://reportsdashboard-v2.daliaresearch.com.dev'
});
另一個特定於一個模型 :
// app/adapters/chart.js
import ActiveModelAdapter from 'active-model-adapter';
export default ActiveModelAdapter.extend({
namespace: 'api',
host: 'http://reportsdashboard-v2.daliaresearch.com.dev',
buildURL: function(type, id, snapshot) {
return this.host + '/' + this.namespace + '/reports/' + snapshot.record.get('report.id') + '/charts/' + id;
}
});
如您所見,存在定義屬性'namespace'和'api'的重復。 這是我嘗試從ChartsAdapter繼承ApplicationAdapter的原因之一 。
免責聲明:我是Ember的新人,所以請用批判的心態來解釋這個問題
命名CustomAdapter類:
// app/adapters/application.js
import ActiveModelAdapter from 'active-model-adapter';
const ApplicationAdapter = ActiveModelAdapter.extend({
namespace: 'api',
host: 'http://reportsdashboard-v2.daliaresearch.com.dev'
});
export default ApplicationAdapter;
從ChartAdapter導入它:
// app/adapters/chart.js
import ApplicationAdapter from './application';
export default ApplicationAdapter.extend({
buildURL: function(type, id, snapshot) {
return this.host + '/' + this.namespace + '/reports/' + snapshot.record.get('report.id') + '/charts/' + id;
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.