我目前正在get-serve网络服务项目中使用HAML。似乎我的设置不允许我使用JQuery客户端模板逻辑。具体地说...
如何根据变量是否存在有条件地呈现视图代码。在我的foo.html.haml文件中,我正在尝试
{{if $data}}
Show this
{{/if}}
如果我没有有效地描述我的问题,我很擅长构建带有网络服务的应用程序来原谅我。
答案 0 :(得分:3)
如果我理解正确,听起来你正试图将一些tmpl逻辑与正在生成该页面的HAML混合。重要的是要记住,在解析所有HAML并将其转换为HTML之后,jQuery tmpl将会发生。
所以,如果您想要类似以下内容作为客户端HTML:
<script id="myTmpl" type="text/x-tmpl">
{{if $error}}
<div class="error">
Error!!!
</div>
{{else}}
<div class="non-error">
Everything looks ${adjective} to me.
</div>
{{end if}}
</script>
您可以像下面这样使用HAMl(缩进将关闭):
%script#myTmpl{:type => "text/x-tmpl"}
:plain
{{if $error}}
.error Error!
:plain
{{else}}
.non-error Everything looks ${adjective} to me.
:plain
{{/if}}
请记住,您正在尝试输出可解析的jQuery-tmpl。你的另一个选择是在HAML的:plain
标签中做所有事情,有些人更喜欢这个以便于阅读。