簡體   English   中英

Ember,如何從自定義適配器繼承

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM