28

Express Web フレームワーク (および EJS テンプレート エンジン) で Node.js を使用しています。変数を印刷する必要があるときは、次のようにします。

<% if (value) { %>

<%= value %>

<% } %>

他のブラケットを開かずに同じことを行うことはできますか? お気に入り:

<% if (value) { PRINT VALUE } %>

これは可能ですか?変数を印刷するには?

4

2 に答える 2

23

PHPのように、明らかにそれができないことに驚いています。

<?php if ($value) : ?>
    <?php echo $value; ?>
<?php endif; ?>

ただし、少し良い解決策は次のとおりです。

<%= (value) ? value : '' %>

これは、状態が時折より複雑になる可能性があることを想定して言っています。

<%= (str.length > 100) ? truncate(str) : str; %>

よりもはるかに優れているのはどれですか

<% if (str.length > 100) { %>
<%= truncate(str) %>
<% } %>

少し不自然な例であっても。

元の質問のように、それを行うための直接のコマンドを見せていただければ幸いです。

于 2011-12-22T22:43:33.827 に答える