2013-02-05 183 views
8

我有一個觀點,即需要一個collection像下面該集合包含的模型的單個屬性。綁定骨幹變化事件模型的屬性集合中

我知道有許多替代品,以這樣的:

  1. 創建視圖爲aCollectionToRender每個型號的附加.on("change")事件的看法。我不想這樣做,因爲它不是正確的事情我的情況
  2. 只需要一個this.collection.on("change")事件,並根據我的要求有事件處理程序過濾器。這是那麼優雅,而且如果骨幹網已經讓我寫事件過濾器正如我上面問,這是重複的代碼

我只是想知道是否有任何的方式來寫一個事件偵聽器已經做了篩選。這個問題也可能是重複的;我看,但我沒有找到任何完全一樣的東西,但是,有很多骨幹問題

回答

16

也許我誤解了你的問題,但你可以做到你所展示的。檢查出Backbone documentation

MyView = Backbone.View.extend({ 
    initialize: function() { 
     this.collection.on("change:attributeName", this.someAction /*function to call*/, this); 
    }, 
    someAction: function(model, value, options){ 
    } 
}); 
+2

Doh!我想你是正確的!出於某種原因,我認爲當它是一個集合時,'change:attributeName'中的'attributeName'指的是集合的屬性,而不是模型。 – Jay

+1

好的,但你怎麼能做到這一點:this.collection.on(「更改」,功能(模型,財產){/ /獲取在這裏更改的屬性...}); ??? –