簡體   English   中英

使用express的nodejs應用程序中的JS文件中的EJS變量

[英]EJS variable in JS file in nodejs app using express

我有一個具有last_level屬性的user object 我在我的快速路由中傳遞它,如下所示:

app.get('/game', (req, res) => {
    res.render('main.ejs', { user: req.user })
})

我想在我的 JS 腳本文件中訪問它。

經過一番研究,我嘗試了這個......

var x = <%- user.last_level %>  

但它不起作用(沒有給我 last_level 的值以將其分配給變量 x)。 請幫我解決這個問題。

這是我的整個 function -

window.onload = function () {
    var x = <%- user.last_level %> 
    if (x === "Easy") {
        console.log("easy")
    } else if (x === "Hard") {
        console.log("hard")
    } else if (x === "Pro") {
        console.log("pro")
    }
    console.log(x)
};

對變量進行字符串化並查看結果。 在您的 ejs 模板中使用以下代碼

 <script>
    window.onload = function () {
            var x =  <%- JSON.stringify(user.last_level) %>
            if (x === "Easy") {
                console.log("easy")
            } else if (x === "Hard") {
                console.log("hard")
            } else if (x === "Pro") {
                console.log("pro")
            }
            console.log(x)
        };
    </script>

替代解決方案是

 <script>
    window.onload = function () {
      <% if (user.last_level == 'Easy') { %>
        console.log("easy")
      <% } else if((user.last_level == 'Hard')  { %>
        console.log("hard")
      <% } else if(user.last_level == 'Pro')  { %>
        console.log("pro")
      <% } %>
    };
  </script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM