ejs"/>
使用 ejs
我想用 Node.js 做一个测试项目
我有一个index.ejs
<!DOCTYPE html>
<html>
<head>
<title>Meine Node.js-Testanwendung</title>
</head>
<body>
<h1>Willkommen auf dem Mars!</h1>
<%- include("locvar.ejs"); %>
<%- include("result.ejs"); %>
</body>
</html>
localvar.ejs
<%
var var1 = "Mars";
var var2 = "Hallo";
%>
结果.ejs
<%- include("locvar.ejs"); %>
<h2>Original Variablen:</h2>
<p>var1: <%= var1 %></p>
<p>var2: <%= var2 %></p>
<%- include ("change.ejs"); %>
<h2>Change Variablen:</h2>
<p>var1: <%= var1 %></p>
<p>var2: <%= var2 %></p>
<%
var1 = "Houston";
var2 = "Problem";
%>
<h2>Geänderte Variablen:</h2>
<p>var1: <%= var1 %></p>
<p>var2: <%= var2 %></p>
和变化.ejs
<%
var1 = "Hallo";
var2 = "Mond";
%>
这里是 server.js
const express = require('express');
const app = express();
const ejs = require('ejs');
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
res.render('index.ejs');
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
如何传递局部变量?
首先 result.ejs 应该首先显示来自 locvar.ejs 的数据,然后是来自 change.ejs 的数据,最后是来自 result 的数据。
回答如下:您可以使用
locals
对象。在您的情况下,您想将locvar.ejs
中定义的变量传递给result.ejs
index.ejs 应该包含 result.js
<!DOCTYPE html>
<html>
<head>
<title>Meine Node.js-Testanwendung</title>
</head>
<body>
<h1>Willkommen auf dem Mars!</h1>
<% var var1 = "Mars"; %>
<% var var2 = "Hallo"; %>
<% include("result.ejs", { var1: var1, var2: var2 }); %>
</body>
</html>
修改 result.ejs 以显示从 index.ejs 传递的变量然后渲染 change.ejs
<%- include("locvar.ejs"); %>
<h2>Original Variablen:</h2>
<p>var1: <%= locals.var1 %></p>
<p>var2: <%= locals.var2 %></p>
<%- include ("change.ejs", { var1: locals.var1, var2: locals.var2 }); %>
<h2>Geänderte Variablen:</h2>
<p>var1: <%= locals.var1 %></p>
<p>var2: <%= locals.var2 %></p>
修改 change.ejs 以显示从 result.ejs 传递的变量
<h2>Change Variablen:</h2>
<p>var1: <%= locals.var1 %></p>
<p>var2: <%= locals.var2 %></p>
<%
locals.var1 = "Hallo";
locals.var2 = "Mond";
%>
更多推荐
使用 ejs
发布评论