我最近一直在使用 Steve Sanderson 的 knockout js 库 http://knockoutjs.com/ 在我的客户端网络开发中。我最近发现微软已经为 jQuery 贡献了一个数据链接插件的代码,这似乎重复了我喜欢的淘汰赛。

http://weblogs.asp.net/scottgu/archive/2010/10/04/jquery-templates-data-link-and-globalization-accepted-as-official-jquery-plugins.aspx
https://github.com/jquery/jquery-datalink
http://api.jquery.com/category/plugins/data-link/

我是否应该放弃我的淘汰代码并使用受拥抱和扩展的 jQuery?

有帮助吗?

解决方案

我个人会坚持淘汰赛——它已经 已被证明工作得很好, ,它正在积极开发中,当您比较功能时,它会将数据链接从图表中剔除。简而言之,Knockout 似乎已准备好迎接黄金时段,而 data-link 则感觉尚未完成。

(我通过将下拉列表数据绑定到包含 5,000 个项目的数组来对 Knockout 进行压力测试,同时还计算数组中唯一项目的数量并将其添加到另一个数据绑定元素中。我的计算和浏览器镶边的重新绘制花费的时间远远长于数据绑定和更新的时间。)

现在,话虽这么说,我会密切关注数据链路,并可能继续尝试它——如果它成功,它将是一个非常可行的替代方案。(鉴于 jquery-tmpl 的成功,这是 Microsoft-Jquery 合作的另一个主要部分。)

更好的一个 比较淘汰赛 将是 documentcloud 的 backbone. 。下周我将研究骨干网,所以目前我没有任何好的建议,但我一直在 非常 印象深刻 下划线 (他们的另一个项目),所以我绝对建议将其作为替代方案。


4年后的成绩
对于那些想知道的人

Knockout 已在各种项目的生产中使用多年,目前版本为 3,并且拥有一个健康的生态系统。jQuery.datalink 成为 JS视图, ,仍处于测试阶段。

其他提示

我一直在做一些严重的挖掘到淘汰赛,而且我发现它可靠和可扩展性。一旦你进入的心态,我觉得这是最好的开发经验,我在浏览器中看到的。

请注意,jQuery的数据链路仅适用于表单元素。 Knockoutjs许多其他类型的绑定,如属性,CSS,这是非常有用的工作。

KO为模型发布订阅到形式是有用的。要使用小窗口,必须编写自定义绑定。 KO不直接支持AJAX。

主链是用于经由RESTful的JSON模型的持久性是有用的。它支持模型/视图同步弱:模型 - >经由JS模板图。视图 - >经由插件处理程序模型一个绝代码。

KO&骨干不直接支持验证。 (我不指望BB的model.validate()因为一个必须编写代码来验证每个属性。)他们没有一个数据类型的概念。 (ExtJS的型号有类型和验证不幸的是,我发现ExtJS的不可靠和不一致的(数据绑定整合到网格而不是形式或属性表;类型信息必须对电网的cols和表单字段虽然它是被输入已经存在于模型)。)

即使一个混合KO,骨干,jQuery验证,有很多的代码来写。

在最有生产力的UI框架,我发现是JSF2,因为它处理了这一切。不幸的是,在实践中有问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top