1. ホーム
  2. ジャバスクリプト

[解決済み] [Solved] underscore.jsのテンプレートでif文を使うには?

2022-04-02 09:03:57

質問

underscore.jsのテンプレート機能を使って、以下のようなテンプレートを作っています。

<script type="text/template" id="gridItem">
    <div class="griditem <%= gridType %> <%= gridSize %>">
        <img src="<%= image %>" />
        <div class="content">
            <span class="subheading"><%= categoryName %></span>
            <% if (date) { %><span class="date"><%= date %></span><% }  %>
            <h2><%= title %></h2>
        </div>
    </div>
</script>

見てわかるように、私はそこにifステートメントを持っている、私のすべてのモデルが日付パラメータを持っていないため。しかし、この方法ではエラーが発生します。 date is not defined . では、テンプレート内で if 文を使用するにはどうすればよいのでしょうか。

どのように解決するのですか?

これでうまくいくはずです。

<% if (typeof(date) !== "undefined") { %>
    <span class="date"><%= date %></span>
<% } %>

underscore.jsのテンプレートでは iffor は、標準的なjavascriptの構文を <% %> タグを使用します。