2012-05-30 41 views

回答

2

看看knockout它可以提供像你所追求的

從他們的網站

聲明綁定容易聯想DOM與模型數據使用簡潔,易讀的語法

元素

自動UI刷新當您的數據模型的狀態更改時,您的UI會自動更新

依賴性追蹤含蓄地建立模型數據之間的關係鏈進行改造,結合它

模板快速生成複雜的,嵌套的用戶界面爲你的模型數據的函數

而且

Knockout是一個JavaScript庫,可以幫助您創建豐富的, responsiv e顯示和編輯器用戶界面,並帶有一個乾淨的底層數據模型 。任何時候當你有動態更新的UI部分時 (例如,根據用戶的動作或當外部數據源發生變化時更改),KO可以幫助您更簡單地實現它,並且可維護地執行它。

標題功能

優雅的依賴追蹤 - 自動更新 你的UI時,您的數據模型更改的正確的零件。聲明式綁定 - 將您的用戶界面部分連接到您的數據模型的一種簡單而明顯的方式。 您可以使用任意 嵌套綁定上下文輕鬆構建複雜的動態UI。 Trivially可擴展 - 將自定義 行爲作爲新的聲明性綁定,以便在幾行 代碼行中輕鬆重複使用。

爲了防止一些額外的工作,在創造的ViewModels如果你已經被返回給客戶端JSON對象,你可以使用Knockout Mapping plugin

淘汰賽的設計,讓您隨心所欲的使用作爲視圖模型的JavaScript對象 。只要某些視圖模型的屬性爲觀察值,您可以使用KO將它們綁定到您的UI,並且只要可觀察屬性 更改,UI 就會自動更新。

大多數應用程序需要從後端服務器獲取數據。由於 服務器沒有任何觀察對象的概念,因此它只提供一個簡單的JavaScript對象(通常序列化爲JSON) 。映射 插件爲您提供了一種直接的方式,可將該普通JavaScript對象映射到具有適當可觀察對象的視圖模型中。這是 替代手動編寫自己的JavaScript代碼, 根據您從 服務器獲取的某些數據構建視圖模型。

也有做類似的事情像其他框架:如果你想實現它,而無需使用一個「大」的框架可能採取

看看這個:

+0

感謝鏈接我之前有過問題是它涉及太多的JavaScript在客戶端。但我會保留它作爲最後的選擇。所以只是想知道有沒有其他解決方案可用? – afr0

+0

任何客戶端解決方案將涉及javascript –

+0

你看過網站上的介紹視頻,我認爲它實際上涉及更少的JavaScript,你只需要知道它是如何工作的(通過閱讀文檔) –