【问题标题】:ExtJS bidirectional Data Binding? Or alternativesExtJS 双向数据绑定?或替代品
【发布时间】:2011-07-03 05:28:24
【问题描述】:

我是一位经验丰富的 Flex/.NET 开发人员,现在正在学习 html5/javascript。过去几周我一直在使用 Ext Core 和 ExtJS,我对人们是否/如何使用这些库对不基于列表的数据进行双向数据绑定感兴趣。

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

也许我只是没有在正确的地方寻找,但我没有找到对此的支持。

我真的很想听听人们在 Ext 中正在做什么,或者人们推荐什么作为替代方案。

【问题讨论】:

    标签: data-binding extjs javascript-framework


    【解决方案1】:

    虽然没有像 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 一起使用并且工作正常。

    【讨论】:

      【解决方案2】:

      跟进...我从来没有找到 ExtJS 方法并转向其他 js 框架/方法,并在此过程中了解了淘汰赛:http://knockoutjs.com/ 这真是太棒了!

      【讨论】:

        【解决方案3】:

        看看 jQXB ,http://www.jqxb.altervista.com。它似乎提供了一个非常简单且强大的 api 来将数据与 html 元素绑定

        【讨论】:

          【解决方案4】:

          您在寻找BasicForm 功能吗? (特别是:loadRecord)

          如果你想要只读显示,你可以使用 DisplayFields 或禁用的 TextFields 或类似的。

          【讨论】:

          • 好吧,loadRecord 是一个显式调用,不是吗?这实际上没有约束力——我正在考虑一种模型,其中表达了单个记录和某些 UI 之间的关系,并且它们被设置为自动保持同步。
          • 再进一步,也许dev.sencha.com/deploy/dev/examples/form/xml-form.html 更符合您的要求。他们将其连接到加载/发送按钮点击,但是有比你可以使用的更多的事件。
          猜你喜欢
          • 1970-01-01
          • 2013-02-24
          • 2015-08-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-18
          • 2014-01-30
          相关资源
          最近更新 更多