我是一位经验丰富的Flex / .NET开发人员,现在正在学习html5 / javascript。过去几周我一直在玩Ext Core和ExtJS,我对是否/如何使用这些库对非基于列表的数据进行双向数据绑定感兴趣。
似乎大多数绑定支持都是针对将数据行绑定到网格。我有兴趣将UI元素绑定到不是基于列表的数据的任意POJO。
也许我只是在寻找合适的地方,但我没有找到对此的支持。
我真的很想听听人们在Ext中做了什么,或者人们推荐什么作为替代方案。
答案 0 :(得分: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并且工作正常。
答案 1 :(得分:1)
后续行动......我从来没有找到过ExtJS方法,转而采用其他js框架/方法,并沿途了解了淘汰赛:http://knockoutjs.com/这真是太棒了!
答案 2 :(得分:0)
您在寻找BasicForm功能吗? (特别是:loadRecord
)
如果您想要只读显示,可以使用DisplayFields或禁用的TextFields或类似功能。
答案 3 :(得分:0)
看看jQXB,http://www.jqxb.altervista.com。它似乎提供了一个非常简单和强大的api来绑定数据与html elems