关于javascript:backbone.js的基本目的和好处是什么?

what is the basic purpose and benefits of backbone.js?

我听过很多消息,backbone.js在使用html5node.js时非常有用。 我已经阅读了文档,但仍然无法达到backbone.js的基本目的。

有人可以用简单的语言向我解释。 如果你能指导我做好的教程。

谢谢

编辑:看到这个问题backbone.js的目的是什么?


几乎每个富客户端Web应用程序都有一个或多个对象列表,当您执行某些操作时,其中一个对象需要更改它的显示方式。想想TODO列表,这是Backbone.js的典型示例。您可以通过以下方式执行此操作:

  • 当你进行更改时,使用jQuery或类似的东西来更改HTML div本身的文本。但是当你想将它保存到服务器时呢?你是否阅读了所有HTML div的文本,使其成为数据的权威位置?那只是觉得笨重!如果您有其他状态不想向用户显示该怎么办?或者,如果要在两个不同的位置显示相同的对象?

  • 进行更改时,在某处更新一个普通的Javascript对象,如window.todos = [{id:1, foo:'bar'},...]。但是当你更改它时,你必须重新渲染使用该对象的所有内容,并告诉服务器有关更改的信息。如果您有两种或更多种不同的方式来更改状态,例如我们的TODO应用程序的"标记所有已完成"功能,那么您最终会重复自己一点点!

Backbone.js通过为每个保存数据权威版本的TODO对象创建Backbone.Model来解决此问题。无论何时更改模型上的属性,无论从何处更改它,都会通知该对象的所有视图重新呈现。您可以通过单个函数调用将整个模型集合同步到RESTful服务器。您的应用程序将更易于维护,您将能够更轻松地添加任意功能。


backbone.js是一个MVC框架,可以帮助您正确地组织代码,并在您重用它时非常有用和简单。

它重量轻。

你可以找到一些很好的教程
http://thomasdavis.github.com/2011/02/01/backbone-introduction.html