You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EJS中结合变量使用条件语句遇问题求助

问题分析与解决办法

你遇到的问题核心是模板引擎的输出语法使用错误——条件判断块里的employee.title没有用输出标签包裹,导致模板引擎把它当成普通文本直接输出了,而不是解析变量的值。

错误写法的问题

你当前的代码:

<% if(!employee.title.includes('Junior')){ %> employee.title <% } %> Support Member

这里的<% %>是模板引擎的逻辑执行块(只运行代码,不输出内容),块内的employee.title没有被任何输出标记包裹,所以引擎会直接把这串字符当作字符串输出,而不会去读取变量的值。

正确的写法

你需要在条件块内用<%= %>(输出变量的标签)来包裹employee.title,让引擎解析并输出变量值:

<% if(!employee.title.includes('Junior')){ %>
  <%= employee.title %>
<% } %> Support Member

如果想更简洁,也可以用三元表达式一行搞定:

<%= !employee.title.includes('Junior') ? employee.title : '' %> Support Member

额外建议(避免报错)

如果employee或者employee.title有可能是undefined,建议加个前置判断防止报错:

<% if(employee && !employee.title?.includes('Junior')){ %>
  <%= employee.title %>
<% } %> Support Member

这里用了可选链操作符?.,如果employee.title不存在,会直接返回undefined,不会抛出错误。

内容的提问来源于stack exchange,提问作者chevybow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:10:04