如何读取Ember Data DS.RESTAdapter的当前标题?

时间:2013-11-06 17:04:06

标签: ember.js ember-data

我将ApplicationAdapter设置为:

App.ApplicationAdapter = DS.RESTAdapter.extend({
    headers: {
        'X-Api-Key': 'ABCDEF'
    }
});

现在我需要能够读取Ember headers实例的当前App.ApplicationAdapter属性,所以我可以添加它:

var headers = {}; /* HOW DO I GET THE CURRENT HEADERS? */
headers['X-My-New-Header'] = 'someValue';
App.ApplicationAdapter.reopen({ headers: headers; });

如何阅读当前的headers

1 个答案:

答案 0 :(得分:2)

我认为您可以通过对象引用进行更改:

App.httpHeaders = {
  'X-Api-Key': 'ABCDEF'
}

App.ApplicationAdapter = DS.RESTAdapter.extend({
  headers: App.httpHeaders
});

// in some action etc
App.httpHeaders['X-Api-Key'] // "ABCDEF"
App.httpHeaders['foo'] = "Bar"
// etc

或丑陋的方式:通过容器获取适配器实例。

var headers = App.__container__.lookup('adapter:application').headers
headers['X-Api-Key'] // "ABCDEF"
headers['foo'] = "Bar"
// etc