2014-03-13 79 views
0

我想根據多個標準過濾對象數組。排序也是可能的。我的設置到目前爲止: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)與螢火蟲伎倆/作弊行不通。

回答

相關問題