如何使用EJS有条件地显示变量

时间:2019-03-27 21:49:51

标签: ejs

该问题似乎重复了,但是查看相关问题并没有得到令人满意的答案。 除了通常建议的以外,是否有更好的方法在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'。我做错了吗?还是有另一种方法?

1 个答案:

答案 0 :(得分:1)

检查用户对象是否未定义。使用这个:

<%= typeof user != 'undefined' ? user.name : '' %>

或者,您可以将user对象附加到locals上,以便可以通过以下方式使用它:

<%= user.name ? user.name : '' %>