【问题标题】:Create an Hashtag system using Node JS and Mongodb使用 Node JS 和 Mongodb 创建 Hashtag 系统
【发布时间】:2018-11-08 04:53:29
【问题描述】:

我想创建一个应用程序,让用户能够使用 Node 和 MongoDB 为其内容分配标签。

到目前为止,我已经能够将标签作为数组插入到数据库中。

这就是它的样子:

 "tags": [
        "laughing",
        "smile"
    ]

现在我在使用 ejs 模板在前端显示标签时遇到了问题。

当我运行以下代码时:

   <% for(var i=0; i<tags.length; i++) { %>

<%= tags[i] %>

<%}%>

结果如下:

laughing, smiling

是的,它确实给了我正确的答案,但我真正想要的是一种将每个实体包装在 &lt;a&gt;&lt;/a&gt; 周围的方法。类似&lt;a href=''&gt; laughing &lt;/a&gt; &lt;a href=""&gt;smiling&lt;/a&gt;

我想让这成为可能,但我还没有看到使用 ejs 实现这一目标的方法。

【问题讨论】:

    标签: node.js mongodb ejs


    【解决方案1】:

    试试这个 -

    <%var data = { "tags" : ["laughing", "smile"] };
    var tagsArr = [];
    for (let i = 0; i < data.tags.length; i++) {
      tagsArr.push(data.tags[i].split(","));
    }%>
    

    然后使用 tagsArr -

    <% for(let i=0; i<tagsArr.length; i++) { %>
       <a href=""><%= tagsArr[i] %></a>
    <%}%>
    

    【讨论】:

    • 你给出的第一个例子不在EJS中。
    • 我收到tags.split is not a function 作为错误消息。
    • 我已经编辑了代码,请立即尝试(在脚本中添加第一部分,在 ejs 中添加第二部分)
    • 您知道tags 来自数据库。所以它必须由 EJS 渲染,而不是在脚本中。
    • 然后把这两部分都放在ejs中
    【解决方案2】:

    你有没有简单的尝试:

    <% for(var i=0; i<tags.length; i++) { %>
       <a href=""><%= tags[i] %></a>
    <%}%>
    

    从未使用过 ejs,但它看起来像所有其他模板语言的语法。

    【讨论】:

    • 是的。但它给了我相同的输出。
    猜你喜欢
    • 2021-05-02
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 2020-12-19
    • 2012-05-28
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多