在我的Ember应用程序中,我已经将RESTAdapter子类化,以便为发送到我的api的每个请求动态更新授权标头:
import DS from 'ember-data';
import Ember from 'ember';
export default DS.RESTAdapter.extend({
user: Ember.inject.service(),
host: 'https://occasions-wjdhamilton.c9.io',
headers: Ember.computed(function() {
this.get('user').getAuthHeaders();
}),
handleResponse(status, headers, payload) {
if (headers['access-token']) {
this.get('user').setToken(headers['access-token']);
}
return this._super(status, headers, payload);
}
});
然而,计算出的函数没有被调用,我无法解决原因。任何帮助将不胜感激!
答案 0 :(得分:0)
您需要通过传递“用户”来指定要用于计算标题的属性,并且您还缺少return
:
headers: Ember.computed('user', function() {
return this.get('user').getAuthHeaders();
}),
我认为这应该有用。