具有交叉的类似 EJS 页面的最佳实践

问题描述

我正在制作一个基本的评论应用程序,用户可以在其中撰写评论,然后根据需要添加评论、编辑和删除评论。我刚刚完成了评论 ejsroute 的所有工作,即将开始回复 ejs,但只是想知道我的效率。你看,这就是我渲染评论的方式:

<% thisPost.comments.reverse().forEach(comment => { %>
    <div>
        <%- include('./comments/comments',{thisComment: JSON.parse(comment)}) %>
    </div>
<% }) %>

这是部分:

<div>
<b>
    <%= thisComment.author %>
</b>
<h5><%= thisComment.content %></h5>
<% if (currentUser == thisComment.author) { %>
    <a class="toggleEdit" href="#">Edit Comment</a>
    <form style="display: none;" class="comment-edit-form" action="/account/<%= pageQuery %>/posts/<%= thisPost._id %>/comments/<%= thisComment._id %>?_method=PUT" method="POST">
        <input type="text" name="updatedContent" value="<%= thisComment.content %>">
        <input type="submit" value="Edit Comment">
        <a class="toggleEdit" href="#">Cancel</a>
    </form>
    <form class="comment-delete-form" action="/account/<%= pageQuery %>/posts/<%= thisPost._id %>/comments/<%= thisComment._id %>?_method=DELETE" method="POST">
        <input type="submit" value="Delete Comment">
    </form>
<% } %>

非常基本的东西。所以我对回复的想法是将 <%- include('./comments/replies',{thisComment: JSON.parse(comment.replies)}) %> 添加评论 forEach 循环并创建一个符合要求的新 ejs 文件。在制作时,我意识到它几乎与我的评论 ejs 相同,所以这是我的困境:

继续我的方式并基本上将评论 ejs 代码复制到回复 ejs 文件会更好,还是将它们放在一个文件中,将参数传递给区分和更改表单的标题标签和操作的值,还是无关紧要而由作者选择?

感谢您的回答。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)