5

是否有一个分叉/维护版本的主干完全消除了 jquery 或 zepto 使用路由器和视图的需要?

我不介意使用主干,但是我没有办法在我的页面上强制使用 jquery 依赖项来使用它。

如果不存在解决方案,有人可以发布需要准确更改的要点吗?

4

3 回答 3

9

如果您希望 Backbone 处理 DOM 操作、DOM 事件和 AJAX 请求,那么您将需要另一个库来执行此操作。它不必是 jQuery 或 Zepto - Backbone 也支持 Ender,理论上你可以使用任何可以进行 DOM 选择并支持 jQuery 样式方法子集的库。快速浏览带注释的源代码表明您需要以下方法:

  • $(selector)
  • $.ajax()
  • $(selector).find()
  • $(selector).bind()
  • $(selector).unbind()
  • $(selector).delegate()
  • $(selector).remove()
  • $(selector).attr()
  • $(selector).html()

如果您不希望 Backbone 处理这些东西,您可以通过覆盖使用它们的方法来轻松删除需求 - 例如,您可以省去.attr().html()通过设置Backbone.View.prototype.make = function() {}. 或者只是不使用Backbone.View- 这消除了对所有内容的需要,但是$.ajax()(除非您正在使用pushState,在这种情况下您也需要事件绑定)。

于 2012-04-04T17:42:07.103 回答
4

是的,这是一个:https ://github.com/inkling/backbone.native 。它是一个微型适配器,允许 Backbone 在仅依赖本机 DOM API 的同时工作。

于 2013-07-13T17:43:09.483 回答
0

您可以尝试使用jBone,这是现代浏览器中用于 DOM 操作的库,jBone 专门为 Backbone 开发,只有 2kb gzipped 和类似 jQuery 的 API。

于 2013-11-13T10:24:57.970 回答