Node.js中如何在EJS页面显示已删除任务的时间戳?
解决EJS中显示已删除任务时间戳的问题
当前代码仅存储了已删除任务的名称,未记录删除时间,需要调整数据存储结构并修改前端渲染逻辑来实现需求:
1. 修改后端(index.js)代码
将complete数组改为存储包含任务名和删除时间的对象,在删除任务时同时生成格式化后的时间戳:
var format = require('date-format'); var task = []; var complete = []; // 添加新任务的路由 app.post("/addtask", function(req, res) { var newTask = req.body.newtask; task.push(newTask); res.redirect("/"); }); // 删除任务的路由 app.post("/removetask", function(req, res) { var completeTask = req.body.check; // 生成当前格式化时间 var deletedTime = format('yyyy-MM-dd HH:mm:ss', new Date()); if (typeof completeTask === "string") { // 存储任务名+删除时间的对象 complete.push({ name: completeTask, deletedAt: deletedTime }); task.splice(task.indexOf(completeTask), 1); } else if (typeof completeTask === "object") { for (var i = 0; i < completeTask.length; i++) { complete.push({ name: completeTask[i], deletedAt: deletedTime }); task.splice(task.indexOf(completeTask[i]), 1); } } res.redirect("/"); });
2. 修改前端(index.ejs)代码
遍历complete数组中的对象,分别渲染任务名称和删除时间:
<% for(var i = 0; i < complete.length; i++){ %> <li><%= complete[i].name %> - 删除时间:<%= complete[i].deletedAt %></li> <% } %>
修改完成后,已删除的任务会在页面上同步显示对应的删除时间戳。
内容的提问来源于stack exchange,提问作者UserNodeJs
相关产品推荐
相关产品推荐

