私はLodashテンプレートを使用しています。lodashテンプレートを使用すると、変数が存在するかどうかを確認できますか?
テンプレート:
<script type="text/template" id="example-template">
<% if (typeof(leadingIconClass) !== "undefined") { %>
<span class="glyphicon glyphicon-<%= leadingIconClass %>" aria-hidden="true"></span>
<% } %>
<% if (typeof(headline) !== "undefined") { %>
<strong><%= headline %></strong>
<% } %>
<%= message %>
<% if (typeof(mainHTML) !== "undefined") { %>
<div class="group" style="margin-top: 20px;">
<%= mainHTML %>
</div>
<% } %>
</script>
データは、テンプレートに提供する:
var data = {
message: 'Are you sure?'
};
コンパイルテンプレートをコンテナに追加:$container.prepend(_.template($("#example-template").html())(data));
私は(から:https://stackoverflow.com/a/7230755/83916)上記の書かれているアプローチはうまく動作しますが、私は本当に<% if (typeof(headline) !== "undefined") { %>
のようif
ステートメントを好きではありません。しかし、単に<% if (headline) { %>
と書くと、見出しが定義されていないと言われます。
HTMLを乱雑にしないlodashテンプレートを使用して変数が存在するかどうかを確認する簡単な方法はありますか?
別の可能性 '<スパンクラス= "glyphicon <%= data.leadingIconClass + data.leadingIconClass 'glyphicon-':? '' %>" ARIA-隠さ= "真"> 'これは' if'条件をスキップすることを可能にします –
これは、元のアイデアがその変数が存在しないときに ' 'を全く表示しないので、同じ効果を持たないでしょう。 – fstanis