這是我的控制器EventTimezoneController
。其content
屬性設置爲Event
模型。Ember,觀察者以奇怪的順序觸發
App.ChallengeTimezoneController = Ember.ObjectController.extend
timezones: [{value: "", label: ""}, {...}]
timezoneDidChange: (->
console.log "In controller", @get("timezone")
).observes("timezone") # I also tried "content.timezone"
現在我Event
型號:
App.Event = App.Challenge = DS.Model.extend(Ember.Validations,
timezone: DS.attr('string')
timezoneDidChange: (->
console.log "In model", @get("timezone")
).observes("timezone")
)
然後,我有一個TimezoneSelect
視圖
App.TimezoneSelect = Ember.Select.extend
valueBinding: "controller.timezone"
contentBinding: "controller.timezones"
optionValuePath: "content.value",
optionLabelPath: "content.label"
現在,這裏的問題:當我選擇一個新的值在選擇下拉列表中,日誌顯示:
> In controller American Samoa
> In model American Samoa
爲什麼從控制器的方法timezoneDidChange
的一個模型之前調用,因爲從我的理解,它的觀測模型的屬性?
這是一個錯字或是否缺少了' - >''中timezoneDidChange:'模型? – intuitivepixel 2013-05-08 23:02:36
是一個錯字,謝謝。 – Robin 2013-05-09 00:57:53