我正在使用Express web框架(和EJS模板引擎)的Node.js。 当我需要打印一个变量时,我会这样做:
<% 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) %>
<% } %>
即使这只是一个有点牵强的例子,我仍然希望能够展示一个直接的命令来完成它,如同您最初提出的问题。
<%=' '%>
,你可以将键放入其中并打印出该键的值,或者将一个字符串放在引号中并打印出来。 - Faizaan Gagan <% console.log(posts) %>
let posts = [];
app.get("/", (req, res) => {
res.render("home", {
posts: posts
});
});
<%= value %>
呢? - Matt Ball