2014-02-21 47 views
1

我是新娘木偶。所以可能是它非常基本。添加模型時,Marionette collection view不更新

我有一個全局初始化的集合,在創建時是空的。

App.Colors= Backbone.Collection.extend({ 
    model : App.Color, 
    comparator : "price"  
}); 


var appColors = new App.Colors(); 

如果我用這個空集合創建一個木偶集合視圖。

var colorview= new App.ColorView({collection:appColors}); 

以後再添加到集合appColors。

appColors.add({code:'red'}) 

由於它監聽collection.add,因此不應該自動更新視圖。我知道這將正常工作,如果I型:在你看來聲明

colorview.collection.add({code:'red'}) 
+0

您的CollectionView看起來像什麼?如果您將它傳遞給非空集合,那麼這些模型是否按預期呈現? – max

+0

是的,他們確實得到渲染。 – user3084985

回答

1

爲了它的工作,你必須綁定視圖渲染到集合添加事件,所以basicly你必須有這樣的事情:

App.ColorView = Backbone.View.extend({ 
    initialize: function() { 
     this.listenTo(this.collection, 'add', this.render); 
     ... 
    } 
    ... 
}); 
+0

木偶中的collectionView已經爲你添加了這個。無論如何,這是我嘗試的第一件事情之一。沒有工作:( – user3084985

+0

你測試過'colorview.collection.add({code:'red'})''我知道它能正常工作'並不是一個計算機科學家指望的主張:) –

+0

是的,當然我已經嘗試過。我知道我會得到一些建議來嘗試這個,所以想要說明什麼是顯而易見的。 :)但這不是我想要更新視圖的方式。該模塊非常複雜,我用簡單的代碼說明了這個問題。數據在不同的模塊中得到更新,但視圖是基於大量計算單獨呈現的。 – user3084985

相關問題