Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 升级到1.0后,观察者将不会开火_Ember.js - Fatal编程技术网

Ember.js 升级到1.0后,观察者将不会开火

Ember.js 升级到1.0后,观察者将不会开火,ember.js,Ember.js,此代码用于在升级到1.0之前工作 Radium.AuthManager = Ember.Object.extend _token: null init: -> @_super.apply this, arguments @set('token', $.cookie('token')) token: ((key, value) -> if arguments.length == 2 @set '_token', value

此代码用于在升级到1.0之前工作

Radium.AuthManager = Ember.Object.extend
  _token: null
  init: ->
    @_super.apply this, arguments
    @set('token', $.cookie('token'))

  token: ((key, value) ->
    if arguments.length == 2
      @set '_token', value
      return

    @get('_token')
  ).property('_token').volatile()

  setAjaxHeaders: ( ->
    if token = @get('_token')
      $.ajaxSetup
        headers:
          "X-User-Token": token
  ).observes('_token')

  tokenDidChange: ( ->
    token = @get('_token')

    return unless Ember.isEmpty(token)

    location.replace('http://blah')
  ).observes('token')
升级到1.0后,它不再工作


观察者真的会被破坏吗?或者它已经改变了吗?

以前的行为是,
set()
调用
init()
将触发观察者;目前的行为是它不会

之前:

App.Person = Ember.Object.extend({
  init: function() {
    this.set('salutation', "Mr/Ms");
  },

  salutationDidChange: function() {
    // fired
  }.observes('salutation')
});
现在:

示例直接取自

只需将('init')标记上的
添加到您的观察者:

Radium.AuthManager = Ember.Object.extend
  # ...
  setAjaxHeaders: ( ->
    # ...
  ).observes('_token').on('init')

  tokenDidChange: ( ->
    # ...
  ).observes('token').on('init')
Radium.AuthManager = Ember.Object.extend
  # ...
  setAjaxHeaders: ( ->
    # ...
  ).observes('_token').on('init')

  tokenDidChange: ( ->
    # ...
  ).observes('token').on('init')