我想根據多個標準過濾對象數組。排序也是可能的。我的設置到目前爲止:http://emberjs.jsbin.com/OxIDiVU/284/edit自定義Ember視圖中的觀察者不總是觸發控制器屬性更改
排序和篩選作品。但是當過濾器被切換時,我不能可靠地更新過濾器複選框視圖。當封閉控制器中的filterStop
陣列發生變化時,應該觸發功能filterChanged
。
一些代碼摘錄:
App.FilterCheckbox = Ember.Checkbox.extend({
'data-count': null
isActive: false
init:() ->
# filterChanged only triggered if we set a breakpoint in the init function :/?
this._super()
filterChanged: (() ->
active = this.get('controller.filterStop')[this.get('data-count')] == true
this.set('isActive', active)
).observes('[email protected]')
});
在我的控制器我有改變filterStop
一個動作:
filterByStops: (count) ->
old_value = this.get('filterStop')[count]
this.get('filterStop').replace(count, 1, [!old_value])
奇怪的現在的問題是,該filterChanged
觀察器功能並不總是觸發。如果我在FilterCheckbox.init
函數中設置了一個斷點,並且在斷點發生後繼續執行,那麼觀察者總是會觸發(如預期的那樣)。如果我刪除斷點並重新加載頁面,觀察者不再觸發。
任何想法爲什麼這種行爲取決於斷點?我該如何設置它,以便我的複選框可以觀察其封閉控制器的屬性?
更新: 我剛剛注意到,調試器斷點技巧只適用於Chrome開發工具chrome。在Firefox(對於OSX)與螢火蟲伎倆/作弊行不通。