javascript - 将 HAML 模板与 Backbone.js 一起使用的最佳策略

标签 javascript templates haml backbone.js

我正在使用 Backbone.js 为我的项目构建 javascript 代码,我喜欢 HAML 在后端 (rails) 上进行模板化,所以我想将它用于 Backbone Views 模板化。我知道有几个 HAML 端口到 Javascript,比如 https://github.com/creationix/haml-js backbone 轻松支持 JST 和 mustache。

使用 haml 模板的最佳方法是什么。

在客户端使用 HAML 有什么缺点吗?性能,额外的脚本加载时间(由 jammit 等 Assets 打包工具处理)

最佳答案

我知道您已经提到过它,但我建议将 haml-js 与 Jammit 结合使用。只需在您的 javascript 中包含 haml.js 并在您的 assets.yml 中添加 template_function: Haml以及将您的模板文件包含在一个包中。例如

  javascript_templates:
    - app/views/**/*.jst.haml

然后在您的 View 中您可以包含此包 (= include_javascripts :javascript_templates),Jammit 会将任何 .jst.haml 文件打包到 window.JST['file/path'] 中. (如果您查看页面源代码,您应该会看到类似 <script src="/assets/javascript_templates.jst" type="text/javascript"></script> 的 javascript 文件)

要使用这些模板,只需调用 Jammit 创建的 JST 之一。即

$('div').html(JST['file/path']({ foo: 'Hello', bar: 'World' }));

而Jammit会使用Haml-js模板函数函数来渲染模板。

注意:请务必在您的 Gemfile 中指向 Jammit 的 github 存储库,以获取支持 haml-js 工作所需的换行符的最新版本。

关于javascript - 将 HAML 模板与 Backbone.js 一起使用的最佳策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5254396/

相关文章:

c++ - 从用户代码注入(inject)默认模板参数类型

javascript - 每当单击按钮时更改 Angular Directive(指令)

ruby-on-rails - 使用 HAML 生成单行注释?

javascript - HAML 在使用 content_for 时有多行,用于 JavaScript

JavaScript 将图像加载到数组中并在图像源中显示

javascript - 使用 typescript 函数的 Angular 6 路由

javascript - 如何计算5个学生的平均分,并在datatable.js中实现,该怎么做?

java - 图像和 JSP 的问题

html - 自定义模板上博客的 Joomla Span

C++ 模板 : Byval/Reference interfering with eachother