我使用的是使用基于DOM的模板的角度,也使用了使用基于字符串的模板的Ember。但我从来没有在骨干上工作过。谁能告诉我它使用哪种模板方法?
答案 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等......