我将 Node.js 与 Express Web 框架(和 EJS 模板引擎)一起使用。当我必须打印一个变量时,我会执行以下操作:
<% if (value) { %>
<%= value %>
<% } %>
我可以在不打开其他括号的情况下做同样的事情吗?喜欢:
<% if (value) { PRINT VALUE } %>
这可能吗?如何打印变量?
我很惊讶地发现你不能这样做,就像在 PHP 中一样:
<?php if ($value) : ?>
<?php echo $value; ?>
<?php endif; ?>
然而,一个稍微更好的解决方案可能是做
<%= (value) ? value : '' %>
我这样说是假设条件有时可能更复杂,即
<%= (str.length > 100) ? truncate(str) : str; %>
这比
<% if (str.length > 100) { %>
<%= truncate(str) %>
<% } %>
即使这是一个稍微做作的例子。
根据您最初的问题,我很乐意看到一个直接的命令来执行此操作。
现在有一个outputFunctionName
可以使用的参数。根据文档:
outputFunctionName
设置为一个字符串(例如,'echo' 或 'print'),用于在 scriptlet 标记内打印输出的函数。