Backbone.js只适用于单页面应用程序吗?

Aca*_*uza 18 javascript architecture user-interface web-applications backbone.js

我正在为我的UI搜索一个简单的架构,它将具有一些基本的javascript函数:select all checkbox,图像裁剪,一些弹出窗口和一些其他插件.

我找到了这篇文章:用模块组织你的Backbone.js应用程序

我的申请不是SPA(单页申请).我想知道,即使我的应用程序不是SPA,Backbone.js与jQuery是否会帮助我.

Eri*_*ton 25

Backbone的优势在于它能够管理许多模型(甚至是复杂模型)并使渲染页面与其当前值保持同步.它提供了getter/setter函数的接口,以便更改模型值(有许多不同风格的"change")将在相应的视图上调用render,页面将正确反映底层模型.此外,它还为模型上的保存,分页和路由操作提供接口.

我已经广泛使用Backbone用于SPA(它闪耀的地方)以及更传统的多页面应用程序.它没有对UI和DOM操作的特殊支持,但结合jQuery/Prototype/Zepto它​​管理它们的渲染/操作.

基本上,骨干最适合解开复杂的渲染逻辑和模型更新链.如果您觉得您的应用程序有很多视图元素需要与客户端将在页面上更新的模型保持同步,那么Backbone是一个很棒的解决方案.如果您只需要选择和操作DOM元素,那就太过分了.只有jQuery才能解决这个问题.


Joh*_*sch 3

Backbone 实际上与您提到的内容无关,但我也不会说它严格适用于单年龄应用程序(SPA)。我想说的是,它适用于您拥有相当复杂的页面的任何情况,并且将它们分成多个部分(例如,全部从一个模型提取数据的多个视图)会对您有利。

不过,我想说 Backbone.js 的优势在于 SPA 领域。

如果您尚未在应用程序中使用 jQuery,您可能会找到一些 jQuery 片段来满足您的某些需求。然而,jQuery 是关于您提到的部分(简单的 DOM 操作、如果您使用 jQuery UI 则弹出窗口等),而不是关于结构或组织。