Person.reopen({ fullNameChanged: Ember.observer('fullName', function() { // deal with the change }) })
或者:this
Person.reopen({
partOfNameChanged: function() { // Because both firstName and lastName were set, this observer will fire twice. }.observes('firstName', 'lastName') });
或者:spa
person.addObserver('fullName', function() { // deal with the change });
1.1 行爲上爲同步執行,當監測的屬性發生變化時,當即觸發Observer的事件回調方法。3d
1.2 Ember.run.once(....),當監聽多個屬性時,能夠指定你們都同步返回比作處理。code
1.3 Observer('xxxx').on('init') 意味着在init方法執行以後會當即執行observer,並繼續監聽xxxx屬性是否改變。server
1.4 容許多個observer監聽同一個CP屬性。blog
1.5 Observer容許依賴於鏈式屬性,當其中任意節點屬性發生改變時,Observer觸發。事件
1.6 Observer不容許監聽不在同一個包內的屬性。同步
1.7 Observer不容許在執行observer方法時移除Observer。string
2.1 可用於監聽依賴屬性的改變,而後在進行相應的事件處理。Observer監聽CP屬性,只有當CP屬性發生改變後才觸發Observer。it
2.2 Observer能夠監聽多屬性,當每個屬性發生變化時,會屢次順序觸發Observer方法。
2.3 能夠多Observer監聽同一個屬性。
2.4 一個監聽屬性變化,控制Timer的例子:
,,,