ejs 相关问题

“E”代表“有效”。 EJS是一种简单的模板语言,可让您使用纯JavaScript生成HTML标记。没有关于如何组织事物的宗教信仰。没有重新发明迭代和控制流。它只是简单的JavaScript。

Mongoose findByIdAndRemove() 函数似乎不起作用?

当使用 /POST 方法检查复选框到服务器时,它会将项目的 ID 传递回脚本。 然后我尝试调用 findByIdAndRemove() 函数,但它似乎并没有真正删除 ...

回答 0 投票 0

ejs for 循环内链接上的 onclick 事件激活所有链接 onclick 事件

在 ejs forEach 循环中,我有带链接的元素,例如: <% someArray.forEach(function(someElement) { %> someElement.title 在 ejs forEach 循环中,我有带链接的元素,例如: <% someArray.forEach(function(someElement) { %> <div> <h5>someElement.title</h5> <a href="#" onclick="<% doSomeAction(someElement) %>">Some Action</a> </div> <% }); %> 当我点击一个元素上的链接时,它会触发列表中所有元素的 onclick 事件。假设我的 Express 代码如下所示: let someArray = [ { title: 'Title 1', body: 'This is element 1' }, { title: 'Title 2', body: 'This is element 2' } ]; let doSomeAction = (someElement) => { console.log(someElement.title); }; 如果我点击 title 是“标题 1”的元素,这就是将要记录在控制台中的内容: Title 1 Title 2 任何人都可以解释这种行为吗?我应该纠正什么,或者更好的方法是什么。我正在使用带有 ejs 的 Express,我之前没有使用 ejs 的经验,所以我可能做错了什么。 这可能有很多年的历史了,并且在这类事情上有潜在的“重复”,但我自己偶然发现了这个问题,因为这是我发现的第一个线程,所以我想我可能会在这里链接其他线程和有用的信息。希望将来可能会出现在这个话题上的其他人(和我自己)觉得它有帮助。 与此主题相关的一般信息和代码 请参阅其他一些 Stack Overflow 问题(和答案)here 和also here 以了解如何执行此操作。我建议在此处也查看 ejs 官方网站的“标签”部分。 专门修复这段代码 我不是 ejs 方面的专家,事实上最近才开始使用它,但话虽如此,我非常有信心我说的话不会让我听起来像个傻瓜(我希望):) 在提供的代码中,在 html 元素标签的 for 循环中,您需要使用 <%= %> 标签,因为您使用的标签 (<% %>) 不会产生/返回输出。 您似乎还缺少 h5 元素中的标签: <h5><%= someElement.title %></h5> 以下代码(忽略使用的不正确标签)调用doSomeAction函数并在呈现html之前返回(不是期望的结果): <!-- ejs (before page load) calls 'doSomeAction' which logs the elements' name os console: > Title 1 --> <a href="#" onclick="<% doSomeAction(someElement) %>">Some Action</a> <!-- since the tags used don't return a value and merely execute code, you'll get the following html --> <a href="#" onclick="">Some Action</a> <!-- however, it did return a value ('<%= %>' tag is used) it would be this --> <a href="#" onclick="undefined">Some Action</a> <!-- this is of course because your function doesn't have a return so the result is 'undefined' ->> 相反,我建议将键字符串(用于字典查找)或项目的索引传递给以这种方式传递对象的函数,同时它可以将对象输出到 html 中以使用它调用函数,不会很漂亮,如果数据发生变化,那么您将拥有该事件的旧数据。 考虑到以上所有内容和参考链接,我将执行以下操作: <% // Uses the index in-case data is updated let doSomeAction = (eleIndex) => { console.log(someArray[eleIndex].title); }; /* // Alternatively, use the key if sorted in a dict let doSomeAction = (eleKey) => { console.log(someArray[eleKey].title); }; */ // I use for..of to get the item and the index and // can also also be async by adding 'await' in front for /*await*/ (let [index, someObj] of someArray.entries()) { %> <div> <h5><%= someElement.title %></h5> <a href="#" onclick="doSomeAction(<%= index %>)">Some Action</a> </div> <% } %> 这将导致以下呈现的 html: <a href="#" onclick="doSomeAction(0)"><h5>Some Action</h5></a> <a href="#" onclick="doSomeAction(1)"><h5>Some Action</h5></a> 还有一点要注意,因为前端dom正在调用函数(而不是在ejs预处理这个时被调用),函数和项目数组将需要存在于它的范围(文档)中,而不仅仅是在 ejs/express 代码 b/c 中,它不能直接调用它们。 如果你最终来到这里,希望这对我和其他人有帮助 o/

回答 1 投票 0

Express - 如何渲染包含在另一个 ejs 中的特定 ejs?

我有一个快速应用程序,“/”路由呈现一个包含一些数据的 index.ejs 文件。 该文件包含另一个 cars.ejs 文件 <%- include('cars') %> 这个 cars.ejs 呈现一个

回答 0 投票 0

无法打印我的 ejs 文件中的图像 [关闭]

当我尝试在 Puppeteer 和 ejs 模板的帮助下打印 PDF 时,它等不及解析路径了。所以它会打印样式路径之前的页面,图像被解析。作为...

回答 0 投票 0

如果我输入连字符 (-)

作为标题,我有 filename.ejs 里面有变量的多标签,我的问题是其中一个带有连字符的变量。 首先,我发送包含所有变量的 post 请求到 Serve...

回答 0 投票 0

Ejs 未在 html 变量中转义连字符 (-)

作为标题,我有 filename.ejs 里面有变量的多标签,我的问题是其中一个带有连字符的变量。 首先,我发送包含所有变量的 post 请求到 Serve...

回答 0 投票 0

无法使用 puppeteer 打印我的 ejs 文件中的图像

当我尝试在 Puppeteer 和 ejs 模板的帮助下打印 pdf 时,它迫不及待地等待解析路径。所以它会打印样式路径之前的页面,图像被解析。作为...

回答 0 投票 0

无法加载解析器:uv_dlsym:dlsym(0x212c79240,tree_sitter_ejs):找不到符号

我正在尝试在 Neovim 中安装这个 tree-sitter-embedded-template 以支持 EJS 文件。 但是,我在运行 :checkhealth 后遇到了这种错误。 加载解析器失败:uv_dlsym: dlsym(

回答 0 投票 0

我收到此错误:[nodemon] 内部监视失败:未知:未知错误,scandir 'E:\onlineSchool\public\img'?

我收到此错误:[nodemon] 内部监视失败:未知:未知错误,scandir 'E:\onlineSchool\public\img'? 我的所有图像都被它自己删除了,我无法打开 img 文件夹...

回答 0 投票 0

无法读取未定义的属性(读取'ES6'),

app.js 代码 - 我不知道为什么这会在节点模块中出错 - npm mongoose-findorcreate 我检查了节点模块,但在 ES6 中没有错误,我还附上了下面的模块代码 //

回答 1 投票 0

尝试使用 mongoose、express 和 ejs 将数据从 mongodb 显示到 html

截至目前,我可以将“测试”字符串打印到我的 html 页面。但是我无法让它从我的数据库中打印数据,并且它没有抛出任何类型的错误。 我试图得到它......

回答 1 投票 0

我得到一个错误,我定义的数组没有定义

app.get("/", getLists, getItems, renderForm); 函数 getItems(req, res, next) { Item.find({}, function(err, foundItems) { 如果(foundItems.length === 0){ Item.insertMany(

回答 1 投票 0

使用 EJS 和 express 根据选择获取数据

我有一个名为 magic.ejs 的页面。我有一个包含 2 个字段的表单。 我有一个名为 magic.ejs 的页面。我有一个包含 2 个字段的表单。 <form> <input type="text" name="name" placeholder="Name"> <input type="email" name="email" placeholder="Email"> <button type="button">Submit</button> </form> 提交后,我想转到新页面magiclist.ejs。在那里,我想访问我填写的 2 个字段。 在我的索引文件中,我定义了我的路线: app.get("/magiclist", (req, res) => { //somehow get the values I filled in here? res.render("magiclist", { magicNpcList: magicNpcList }); }); 您可以为此目的使用查询参数。你调用像 /magiclist?name=<nameHere>&email=<emailHere> 这样的 URL 然后像这样抓取另一边的参数: app.get("/magiclist", (req, res) => { const {name, email} = req.query; res.render("magiclist", { magicNpcList: magicNpcList }); });

回答 1 投票 0

删除脚本在我的模板中没有按预期工作

我有一个 html 页面应该显示用户帐户的博客(所以有一个帐户集群,一个博客集群,并且该帐户有一个博客字段,将相关博客存储在一个数组中)和...

回答 1 投票 0

如何打印数组中的数据?

我有一个 MongoDB 数据库,我在其中创建了一个模式,该模式包含多个主题的电子书主题,每个主题都是其中的电子书数组,因此 ebookTopic -> [ebookSubje ...

回答 0 投票 0

我怎么只能显示帖子的100个字符?

我目前正在创建一个博客网站和主页,我只想显示该段落的 100 个字符。之后我只想显示...(3 个点)我如何使用 javascript 或 css 做到这一点? 输入...

回答 7 投票 0

如何在 EJS 中添加 SPA?

我目前正在将用 VanillaJS 编写的电子商务网站从 SPA 转换为可以抓取的 Web 应用程序。为了做到这一点,我已经转换了每个'

回答 1 投票 0

如何在 CKEDITOR 中设置数据

嗨,我正在使用 CKEDITOR 4 从表单中获取一些文本。我可以毫无问题地使用 CKEDITOR 获取显示数据。但是当我尝试编辑我已经插入的内容时遇到了问题。我不能...

回答 1 投票 0

如何将 map 对象从 nodejs express 传递到 ejs 作为 javascript 变量?

我的server.js const myMap=新地图([ [1, { 价格: 25 }], [2, { 价格: 50 }], [3, { 价格: 100 }], ]) app.get('/', (req, res) => { res.render('index', myMap); }) 我的索引.ejs ...

回答 0 投票 0

我想知道 {blogs: blogs} 在我的代码中是什么意思

app.get("/blogs", function(req, res){ Blog.find({}, function(err, 博客){ 如果(错误){ console.log("错误!!!"); }别的{ res.render("index", `{blogs: blogs}`); ...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.