Backbone.js 和 DOM 操作

Posted

技术标签:

【中文标题】Backbone.js 和 DOM 操作【英文标题】:Backbone.js and DOM manipulation 【发布时间】:2012-03-23 21:51:38 【问题描述】:

我对 javascript MVC 框架非常陌生,并且有一个与 Backbone.js 相关的问题 据说 Backbone.js 在有大量 DOM 操作时非常有用。 您能否举一个实际的例子。就像使用backbone.js 如何通过将DOM 操作/html 分开来帮助使代码更清晰一样? 它如何用于常见功能? 此外,任何其他有关 Backbone.js 如何有用的实际示例都会非常有帮助。

我已经浏览了http://documentcloud.github.com/backbone/上的教程但是找不到一些基本的例子..

谢谢。

【问题讨论】:

【参考方案1】:

来自文档

Backbone 唯一的硬依赖是 Underscore.js (> 1.3.1)。对于 RESTful 持久性,通过 Backbone.Router 支持历史记录和通过 Backbone.View 进行 DOM 操作,包括 json2.js,以及 jQuery ( > 1.4.2) 或 Zepto。

视图只是一个约定,下划线库会创建您的 DOM 元素,尽管您可以在其中添加一些逻辑。创建 DOM 后,您可以使用 jQuery 对其进行操作。

【讨论】:

【参考方案2】:

欢迎来到 MVVM 的精彩世界!如果您是新手,我建议您从 Knockout JS 开始 - 他们在 http://learn.knockoutjs.com/ 上有一些很好的教程,概述了该方法的优点。我发现 Knockout 比 Backbone 更容易使用。

【讨论】:

问题显然是关于主干,而不是选择 Mv* 框架。 我的回答显然是一种礼貌的方式,表示该领域的初学者有更好的选择。 不是说你不礼貌,只是这与问题无关。这不应该是传教的地方,想象一下,如果我回答一个 Ruby 问题并说“这里,尝试 node”,或者一个 Java 问题并说尝试 C#... 你明白了。 @thedixon :尽管我的问题是关于 Backbone.js ,但您为另一个类似框架 (Knockout.js) 提供的链接似乎非常好..来自我的 +1.. .我的意思是本教程以非常简单的方式进行了解释...尽管我仍然会保留与 Backbone.js 相关的问题的答案

以上是关于Backbone.js 和 DOM 操作的主要内容,如果未能解决你的问题,请参考以下文章

Backbone.js 内存管理,上升的 DOM 节点数

backbone.js1.3.3------------------------view

backbone.js1.3.3------------------history和router

将集合绑定到 Backbone.js 中的视图

JSONP 和 Backbone.js

Backbone.js 和 Backbone 实现的最佳 URL 结构