1

我目前在一个get-serve的 web-services 项目中使用 HAML。似乎我的设置不允许我使用 JQuery 客户端模板逻辑。具体来说...

如何根据变量是否存在有条件地呈现视图代码。在我的 foo.html.haml 文件中,我正在尝试做

{{if $data}}
Show this
{{/if}}

如果我没有有效地描述我的问题,我是使用 Web 服务构建应用程序的新手,请原谅我。

4

1 回答 1

3

如果我理解正确,听起来您正在尝试将一些 tmpl 逻辑与生成该页面的 HAML 混合。重要的是要记住 jQuery tmpl 将在所有 HAML 被解析并转换为 HTML 之后发生。

因此,如果您想要以下内容作为客户端 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标签中执行所有操作,有些人更喜欢这样做以提高可读性。

于 2013-01-23T00:13:57.900 回答