我想知道将Mustache或Handlebars与HAML混合在一起是否是个好主意。如果是,那将是有利有弊的。我为什么这么问?我见过brogrammers混合模板。感谢。
答案 0 :(得分:3)
我正在使用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并使用小胡子进行渲染。
因此,您有时需要小心胡子标签出现。对于浏览器,它们只是文本,因此它们在表行之间无效。在这种情况下,将它们放在像我的例子中的HTML注释中。
您还可以在服务器上转义生成的HTML / Mustache。这在我的案例中是不可行的,因为我想要让生成的模板成为我的HTML的一部分,以便更轻松地进行样式化。