如何使用 ejs 连接 html 属性中的字符串?

Posted

技术标签:

【中文标题】如何使用 ejs 连接 html 属性中的字符串?【英文标题】:How to concatenate strings in an html attribute using ejs? 【发布时间】:2019-09-29 10:15:46 【问题描述】:

我正在尝试使用 ejs 模板引擎创建指向随机文件的链接。我有一个名为 randomProject 的 javascript 字符串变量,它位于一个名为“case”的文件中。但是,我不知道如何将这两个字符串连接在一起。

我曾尝试使用 <a href=<% "/case/" + randomProject%>> 中的“加号”,但没有成功。

index.ejs(在我想做一个随机链接之前)

<a href='/case/portfolio-website'>
    <h2>Portfolio Website</h2>
</a>

index.ejs(在我想做一个随机链接之后,现在不行了)

<a href=<% "/case/" + randomProject%>>
<h2><%= randomProject %></h2>
</a>

main.js

const projects = ['gochiso','junction','portfolio-website','tedx-flyer','tedx-website','thirty-logo-challenge']
const randomNum = Math.floor(Math.random() * projects.length);
const randomProject = projects[randomNum]

目录

case
  gochiso.ejs
  portfolio-website.ejs
  thirty-logo-challenge.ejs
  junction.ejs
  tedx-website.ejs

【问题讨论】:

你试过&lt;a href="/case/&lt;%= randomProject %&gt;" &gt; 【参考方案1】:

您可以连接的几种方式:

使用template literal

<a href="<%= `/case/$randomProject` %>">

正则ejs输出转义的html

<a href="/case/<%= randomProject %>">

【讨论】:

以上是关于如何使用 ejs 连接 html 属性中的字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用三元运算符将类添加到 ejs 中的 HTML 元素

使用 EJS 或 jQuery 设置 HTML 标签的属性

使用 ejs 时如何使用 url 查询字符串

无法读取 ejs 中未定义的属性“子字符串”

ejs使用文档

如何在 node.js EJS 视图中转义 HTML?