ExtJS双向数据绑定?还是其他替代方案?

5

我是一名经验丰富的Flex/.NET开发人员,现在正在学习html5/javascript。我最近几周一直在使用Ext Core和ExtJS,并且对于人们如何使用这些库来进行非列表数据的双向数据绑定很感兴趣。

似乎大多数绑定支持都是针对将数据行绑定到网格上的。我感兴趣的是将UI元素绑定到不基于列表的任意POJOs。

也许我只是没有找对地方,但我没有找到此类支持。

我非常有兴趣了解Ext中人们正在做什么,或者人们推荐的替代方案。

4个回答

3
虽然没有像Flex中的@Bindable一样的开箱即用的解决方案,但是Extjs提供了创建绑定的基础设施。您可以查看http://blog.dnet-ebusiness-suite.com/2012/03/data-binding-in-extjs-4-grid-form.html来了解这个演示,其中模型(筛选器实例和记录实例,即由存储管理或未由存储管理的Ext.data.Model实例)绑定到不同的视图上。该功能是通过在Extjs之上构建的一个轻量级框架实现的。
另一方面,要绑定任意的POJOs,其实也是相同的原理,它们必须实现一个Observable并触发自己的一些属性更改事件,以便被监听。博客文章和框架本身为如何执行此操作提供了良好的起点。
另一个方式/概念是http://www.sencha.com/forum/showthread.php?60809-Ext.ux.data.BindMgr-Databind-Manager,我使用过Extjs 3并且效果良好。

1
一个后续...我从未找到过ExtJS的方法,转而使用其他js框架/方法,并在此过程中了解了knockout: http://knockoutjs.com/,它非常棒!

0

0
你正在寻找BasicForm功能吗?(特别是:loadRecord
如果你想要只读显示,你可以使用DisplayFields或禁用的TextFields或类似的东西。

1
"loadRecord"是一个显式调用,对吧?那并不是绑定,实际上--我想的是一种模型,在这种模型中,单个记录与某些UI之间的关系得到表达,并且它们被设置为自动保持同步。 - uooq
再往前看,也许http://dev.sencha.com/deploy/dev/examples/form/xml-form.html更符合您的需求。他们已经将其连接到按钮点击的加载/发送,但您可以使用更多的事件。 - wombleton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接