2011-07-22 23 views
0

我正在寫一個基於模塊的JavaScript網站,由Mysql數據庫支持。爲多模塊Javascript網站應用Backbone.js

每個模塊都通過PHP與數據庫通信。 在用戶界面上,爲了簡單起見,左側的模塊將顯示所有相關行,並具有編輯(寫入)功能。右側的模塊顯示來自同一個數據庫的數據,並具有寫訪問權限。 所以每個更新都會影響其他的。

我被告知骨幹網會是一個很好的框架。然後,我讀了todos的例子,並瞭解如何有item-> itemList,view-> viewList等...

但現在,問題是,我該如何將它應用於這種情況?

哪一個項目,在這種情況下的看法?

回答

1

左邊的模塊和右邊的模塊是視圖,其中每個視圖都可以由其他視圖組成。

在該模型不存儲到視圖的引用(如我在一些實施例中所見完成):

this.view = view; //view being passed in as an arg 

反向(存儲到模型的引用的視圖)是好的。你的觀點應該是做大部分的工作,聽取和迴應模型事件。因此,在視圖中initialize方法可能會:

model.bind("interesting-event", function(){ 
    //the view updates/reacts to the model. 
}); 

而且,從來沒有一個模型添加到兩個集合(只是一個永遠)。將模型分配給集合時,Backbone在模型上設置指向擁有集合的引用。

順便提一下,a-model-can-belong-to-two-collections問題是您不希望模型引用其視圖的原因。一個模型可以在一個屏幕上顯示多個視圖。

骨幹是完美的爲您的需求。從一個非常基本的應用程序開始,並保持充實。一直在閱讀關於骨幹在線。我讀了所有我能找到的東西(沒有太多,不是真的)。關鍵概念是簡單的基於事件的編程(就像你在VB或許多其他平臺中使用的一樣)。這是很多嘗試和錯誤,但你會通過練習來理解它。

+0

感謝您回答關於backbone.js的問題。雅,我無法真正找到任何初學者級別的例子,真正證明了我的想法。仍然試圖瞭解backbone.js如何爲我工作。 糾正我,如果我錯了... 我從數據庫拉用戶表,每行(即用戶)將成爲一個模型。他們一起形成一個集合。構成整個UI的appView將包含每個模型的單獨視圖。當viewModel被觸發時,它將從相關模型中獲取任何必要的信息,並僅重新渲染該模型。 –