该问题似乎重复了,但是查看相关问题并没有得到令人满意的答案。 除了通常建议的以外,是否有更好的方法在EJS中输出(写入)变量
<% if (user) { %><%= user.name %><% } %>
我正在搜索类似
<% if (user) {write(user.name)} %>
我找到的最接近的东西是
<%= user.name ? user.name : '' %>
在2015年的一篇好帖子中:https://blog.joeandrieu.com/2013/10/16/how-to-conditionally-display-variables-with-ejs/,但是这种方法至少在节点10中失败了,因为我得到无法读取未定义的属性'name'。我做错了吗?还是有另一种方法?
答案 0 :(得分:1)
检查用户对象是否未定义。使用这个:
<%= typeof user != 'undefined' ? user.name : '' %>
或者,您可以将user
对象附加到locals
上,以便可以通过以下方式使用它:
<%= user.name ? user.name : '' %>