[英]How can I use a variable created inside server.js in my ejs script tag?
我正在構建我的第一個 NodeJS 項目,它有很多文件管理功能。 我認為為了讓我的生活更輕松,在我的一個 ejs 文件中存在的腳本標記內獲取在我的 server.js 中創建的傳遞變量將是有益的。 這是我想要使用的代碼示例:
// My server.js file - I want to use the variable "files" inside my ejs script tag
app.get('/feed', (req, res) => {
let files = fs.readdirSync("./uploads");
res.status(200).render('feed', {files});
});
// My ejs file - this is what I found on Google and tried, yet it did not work
<% let f = files %>
</body>
<script>
let getFiles = <%= f %>;
有沒有辦法實現我想要的? 任何幫助都會有所幫助!!
因此,為了使用在前端創建的服務器端變量,您需要將其作為道具傳遞。
要在 express 中將 props 傳遞給視圖,我們在 res.render 方法中傳遞一個對象作為第二個參數:
我們不能只傳入一個變量或其他東西作為道具。 我們需要先重新分配它們。
res.render(view, {
prop1: value,
prop2: newValue,
});
在這里,我們分別將 value 和 newValue 重新分配給 prop1 和 prop2。
所以,你的問題的解決方案,
res.status(200).render('feed', {f: files})
在這里,我們簡單地獲取 files 變量並將其作為 prop 傳遞,將其重新分配給名稱 f。 我們可以通過以下方式在我們的視圖中使用它:
<% files %>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.