【发布时间】:2012-03-20 17:56:12
【问题描述】:
我想知道将 Mustache 或 Handlebars 模板与 HAML 混合是否是个好主意。如果是,有什么好处和坏处。我为什么要问这个?我见过 brogrammers 混合模板。谢谢。
【问题讨论】:
标签: javascript haml template-engine mustache handlebars.js
我想知道将 Mustache 或 Handlebars 模板与 HAML 混合是否是个好主意。如果是,有什么好处和坏处。我为什么要问这个?我见过 brogrammers 混合模板。谢谢。
【问题讨论】:
标签: javascript haml template-engine mustache handlebars.js
我正在使用 HAML 生成胡须模板,没有任何问题。
我的 HAML 看起来有点像这样:
.template.shop
.foreground
.header
.header-logo
.shop-description
.table-frame
%a.close-button{:href=>"#"} Close
%table
%tr
%td.shop-images
%td.shop-details
%p.popup-headline.fix-width
{{addr_name}}
%p
{{addr_street}} {{addr_number}}
%br/
{{addr_zip}} {{addr_city}}
/ {{#hasSchedule}}
%p.popup-headline
\Öffnungszeiten
%table.shop-schedule
/ {{#sched_mo}}
%tr
%td Mo:
%td {{sched_mo}}
/ {{/sched_mo}}
... Rest of Table omitted
这就像一个魅力。它在服务器上呈现为 HTML,我在客户端使用 jQuery 从页面中提取。然后我获取模板的 HTML 并使用 mustache 渲染它。
因此,您有时需要小心出现小胡子标签的位置。对于浏览器,它们只是文本,因此例如在表格行之间它们是无效的。在这种情况下,将它们放在 HTML-cmets 中,就像我的示例一样。
您也可以在服务器上转义生成的 HTML/Mustache。这在我的情况下是不可行的,因为我希望将生成的模板部分包含在我的 HTML 中以便于样式化。
【讨论】: