1

現在、 get-serve、Web サービス プロジェクトでHAML を使用しています。私のセットアップに関する何かが、JQuery クライアント側のテンプレート ロジックの使用を許可していないようです。具体的には...

変数が存在するかどうかに基づいてビュー コードを条件付きでレンダリングするにはどうすればよいですか。私の foo.html.haml ファイルで私はやろうとしています

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

私は自分の問題を効率的に説明していない場合でも許してくれるように、Web サービスを使用してアプリを構築するのは初めてです。

4

1 に答える 1

3

私が正しく理解していれば、そのページを生成している HAML といくつかの tmpl ロジックを混在させようとしているように思えます。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 に答える