哪个模板方法backboneJS使用?

时间:2013-11-07 08:34:52

标签: backbone.js javascript javascript-framework

我使用的是使用基于DOM的模板的角度,也使用了使用基于字符串的模板的Ember。但我从来没有在骨干上工作过。谁能告诉我它使用哪种模板方法?

2 个答案:

答案 0 :(得分:1)

Backbone不会强迫您使用任何特定的模板引擎,您可以使用想要渲染模板的内容。

  

根据需要渲染UI。 Backbone不知道你是否   使用Underscore模板,Mustache.js,直接DOM操作,   服务器端呈现的HTML片段或渲染中的jQuery UI   功能。有时你会为每个模型创建一个视图......有时候   你将拥有一个可以同时呈现数千个模型的视图   紧环。两者都适用于同一个应用程序,具体取决于   涉及的数据量以及UI的复杂性。

(src:http://backbonejs.org/#FAQ-tim-toady

  

Backbone与您首选的HTML方法无关   模板。您的渲染功能甚至可以将HTML拼凑在一起   string,或使用document.createElement生成DOM树。然而,   我们建议您选择一个不错的JavaScript模板库。 Mustache.js,   Haml-js和Eco都是不错的选择。因为Underscore.js是   已经在页面上,_.template可用,是一个很好的   如果您更喜欢简单的插值JavaScript样式模板,请选择。

(src:http://backbonejs.org/#View-render

(RTFM!)

答案 1 :(得分:1)

Backbone.js是一个适用于任何模板系统的MV *框架。通常,您将使用Underscore库为简单应用程序创建模板。 Underscore库是Backbone的依赖项,因此它始终可用于Backbone.js应用程序。

Underscore.js的新替代刚刚发布,名为“Lo-Dash”,其唯一目的是完全取代Underscore.js。它还有一个模板系统,您可以在Backbone.js应用程序中使用它。只需放入Lo-Dash,删除下划线即可无缝运行。当使用Backbone.js测试Lo-dash时,所有单元测试都通过,这意味着它是一个完美的Underscore.js替代品。 Lo-Dash API也是以性能为基础编写的,因此它用更好的高性能模式(如“for loops”等)取代了较慢的笨重的JS模式......此外,它还提供了30个额外的功能,这些功能是下划线所不具备的。 自行检查:http://lodash.com/

在你签出了Lo-Dash后仍然需要更多的东西,我会查看其他一些模板系统,如:Handlebars.js,Mustache.js,Jade,Haml-js等......