【问题标题】:Unexpected token { while compiling EJS编译 EJS 时出现意外的令牌 {
【发布时间】:2020-05-10 23:54:48
【问题描述】:

这是代码...我试图在仪表板上仅显示具有某个类的项目:

<% newListItems.forEach(function(item){ %>
    <% if (currentClasses.includes(item.class) { %>
    <div class="item">
        <input type="checkbox">
        <p class="ptag"><%= item.name %></p>

    </div>
    <% }) %>
    <% }) %>

这里是 app.js 代码供参考

app.get("/todolist", function (req, res) {
    if (req.isAuthenticated()) {
        const currentClasses = req.user.classes
        Item.find({}, function (err, foundItems) {
            if (foundItems.length === 0) {
                Item.insertMany(defaultItems, function (err) {
                    if (err) {
                        console.log(err)
                    } else {
                        console.log("Success!")
                    }
                })
                res.redirect("/todolist")
            } else {
                console.log(currentClasses)
                res.render("todolist", { newListItems: foundItems })
            }

        })
    } else {
        res.redirect("/login")
    }
});

我不知道为什么 EJS 代码给出了一个意外的令牌 { 错误,因为括号和括号似乎加起来了

【问题讨论】:

    标签: javascript node.js ejs


    【解决方案1】:
    <% newListItems.forEach(function(item){ %>
        <% if (currentClasses.includes(item.class)) { %>
        <div class="item">
            <input type="checkbox">
            <p class="ptag"><%= item.name %></p>
    
        </div>
        <% } %>
        <% }) %>
    

    您正在关闭倒数第二行中if 语句的括号

    【讨论】:

      猜你喜欢
      • 2021-10-13
      • 1970-01-01
      • 2017-08-15
      • 1970-01-01
      • 2022-10-21
      • 1970-01-01
      • 2020-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多