【发布时间】:2022-01-05 07:30:25
【问题描述】:
server.js
app
.route("/")
.get((req, res) => {
res.render("home", { tofirstejs: usercount });
})
home.ejs
<%- include('partials/header.ejs', {tolastejs:tofirstejs}); -%>
<%- include('partials/signin.ejs'); -%>
<%- include('partials/footer.ejs'); -%>
header.ejs
<body>
<div id="alert"></div>
<h3> <%= tolastejs%> user</h3> //want inital value of usercount here
</body>
我想知道如何通过多个 ejs 传递值。我可以通过减少中间的ejs并直接调用最后一个来解决这个问题,但我的意图是学习。因此,如果有任何方法可以实现这一点。请告诉我。
【问题讨论】:
-
您的代码显示
res.render('home'),但您没有显示home.ejs。您还显示了first.ejs和last.ejs,但它们中的任何一个都无法呈现,并且它们之间也没有任何联系。我们无法按照此处的代码流来查看您要完成的工作。 -
您不会通过多个
.ejs文件传递数据,这些文件未作为同一渲染的一部分进行渲染。要执行此类操作,您可能必须使用会话并将数据放入会话中,然后从会话中获取数据以将其传递给其他渲染。 -
@jfriend00 很抱歉,实际上 first = home 和 last = header ejs 文件。这是我这边的一个错误。好吧,如果是这样的话。然后我会直接调用标题。谢谢