Javascript 余烬JS集合请求头

Javascript 余烬JS集合请求头,javascript,ember.js,ember-data,ember-cli,Javascript,Ember.js,Ember Data,Ember Cli,我正在尝试将用户注册后从响应接收到的身份验证令牌设置到Ember数据请求头中 这是我的application.js代码 import DS from 'ember-data'; export default DS.RESTAdapter.extend({ namespace: 'merchant', host: 'http://192.168.1.173:3000', headers: function() { return { "token":local

我正在尝试将用户注册后从响应接收到的身份验证令牌设置到Ember数据请求头中

这是我的application.js代码

import DS from 'ember-data';

export default DS.RESTAdapter.extend({

  namespace: 'merchant',
  host: 'http://192.168.1.173:3000',


  headers: function() {
    return {
      "token":localStorage.token,
    };

  }.property("localStorage.token","token")

});
在收到来自注册用户API调用的成功响应后,我正在尝试设置标头

var register=this.store.createRecord('registermerchant',data);
  register.save().then(function(response){
    console.log(response.success);
    if(response.get('success')){


      self.set('token',response.get('token'));
      self.transitionToRoute('merchanthome')

    }

我可以看到更新的localStorage.token值,但是由于某些原因,该值未设置为reqest标头令牌键

令牌没有更新到标头,只有在执行页面刷新后,新更新的令牌才会发送到服务器

任何关于我可能做错什么的想法,任何提示都将不胜感激。
谢谢

localStorage
不是一个可观察的余烬对象,因此您的
属性(“localStorage.token”)
将只评估一次。相反,每次重新评估属性时都要使其不稳定:

headers: function() {
    return {
      "token":localStorage.token,
    };

  }.property().volatile()

是的,我也弄明白了。谢谢你,我没有15次重复,所以我无法给出答案。出于好奇,我如何围绕localStorage对象构建一个余烬可观察对象?您可以将localStorage包装在自己的对象中,并使用getter和setter委托调用。您需要使用
get
set
来访问它。对于能够存储任意数据的启用了ember的通用本地存储,您需要使用
unknownProperty
/
setUnknownProperty
headers: function() {
    return {
      "token":localStorage.token,
    };

  }.property().volatile()