2011-02-24 217 views
5

我是一個相當有經驗的Flex/.NET開發人員,現在正在學習HTML5/JavaScript。過去幾周我一直在使用Ext Core和ExtJS,我對是否/如何使用這些庫對基於列表的數據進行雙向數據綁定感興趣。ExtJS雙向數據綁定?或替代

看起來大多數綁定支持都是將數據綁定到網格。我對將UI元素綁定到不是基於列表的數據的任意POJO感興趣。

也許我只是沒有找到正確的地方,但我沒有找到對此的支持。

我真的很想聽到人們在Ext中做什麼或者人們推薦什麼作爲替代。

回答

0

您是否在尋找BasicForm的功能? (特別是:loadRecord

如果您想只讀顯示,您可以使用DisplayFields或禁用TextFields或類似功能。

+1

那麼,loadRecord是一個明確的調用,不是嗎?這沒有約束力,真的 - 我正在考慮一種模式,即單個記錄和某個用戶界面之間的關係被表達出來,並且它們被設置爲自動保持同步。 – Boon 2011-02-25 00:07:02

+0

再進一步看,http://dev.sencha.com/deploy/dev/examples/form/xml-form.html更適合你。他們有線加載/發送按鈕點擊,但有更多的事件比你可以使用。 – wombleton 2011-02-25 00:54:48

1

跟進...我從來沒有找到一個ExtJS的方法,並轉移到其他js框架/方法和沿途瞭解淘汰賽的方式: http://knockoutjs.com/這真是太棒了!

3

雖然沒有像Flex中的@Bindable這樣的開箱即用解決方案,但Extjs確實提供了創建綁定的基礎結構。 如果你看看http://blog.dnet-ebusiness-suite.com/2012/03/data-binding-in-extjs-4-grid-form.html,你會看到一個演示,其中模型(過濾器實例和記錄實例,Ext.data.Model的實例管理或不由商店管理)綁定到不同的視圖。該功能是通過在Extjs之上構建的瘦架構實現的。另一方面,綁定任意POJO是完全一樣的故事,那些必須實現一個Observable並且自己發射一些可以被監聽的屬性改變事件。博客文章和框架本身爲如何做到這一點提供了一個很好的起點。

另一種方式/概念是http://www.sencha.com/forum/showthread.php?60809-Ext.ux.data.BindMgr-Databind-Manager,我用extjs 3和正常工作。