将 属性 设置为未定义时未通知观察者
Observer not notified when setting property to undefined
我有一个 mixin 可以观察对象的属性。
observedProperties: [
'event.name'
'event.start_time'
'event.end_time'
'event.slot_index'
'event.recurrence'
'event.rank'
]
setupObservers: ->
@current = {}
@observedProperties.forEach (p) =>
# Initialize the value cache
@current[p] = @get(p)
@addObserver p, @, @debouncer
我的对象看起来像
obj = {event: {recurrence:{...}, ...}}
在我的控制器中,我有一个 clearRecurrence 方法:
clearRecurrence: ->
event = @get('event')
event.set 'reccurence', undefined
@set 'event', event
# @set 'event.recurrence', undefined
方法被调用,但观察者的回调(去抖动方法)没有被调用。
知道我做错了什么吗?
您 reccurence
在 setter 中拼写了 differently/incorrectly。而且你不需要重新设置事件。
我有一个 mixin 可以观察对象的属性。
observedProperties: [
'event.name'
'event.start_time'
'event.end_time'
'event.slot_index'
'event.recurrence'
'event.rank'
]
setupObservers: ->
@current = {}
@observedProperties.forEach (p) =>
# Initialize the value cache
@current[p] = @get(p)
@addObserver p, @, @debouncer
我的对象看起来像
obj = {event: {recurrence:{...}, ...}}
在我的控制器中,我有一个 clearRecurrence 方法:
clearRecurrence: ->
event = @get('event')
event.set 'reccurence', undefined
@set 'event', event
# @set 'event.recurrence', undefined
方法被调用,但观察者的回调(去抖动方法)没有被调用。
知道我做错了什么吗?
您 reccurence
在 setter 中拼写了 differently/incorrectly。而且你不需要重新设置事件。