node.js - 如果语句不适用于 ejs 视图引擎
问题描述
我正在尝试制作在单个页面中包含订单列表的“订单页面”,但它应该有单独的部分。一个用于“已制作”,另一个用于“待处理”。它有一个简单的数据库,其中的“isDone”字段为真或假。所以正如我想象的那样,如果它是真的,那么它应该出现在“已经制作”部分,但问题是,如果 .ejs 中的某种原因声明不起作用。
<body class="container">
<main>
<div class="jumbotron">
<h1>Pending</h1>
</div>
<% orders_list.forEach(function(order){ %>
<% if(order.isDone == false) { %>
<div>
<h3><a href='<%= order.url %>'><%= order.name %></a> - <%= order.price %> euru</h3>
<hr>
</div>
<% } %>
<% }) %>
<div class="jumbotron">
<h1>Already made</h1>
</div>
<% orders_list.forEach(function(order){ %>
<% if(order.isDone == true) { %>
<div>
<h3><a href='<%= order.url %>'><%= order.name %></a> - <%= order.price %> euru</h3>
<hr>
</div>
<% } %>
<% }) %>
</main>
</body>
var express = require('express');
var router = express.Router();
var Order = require('../models/order');
router.get('/orders', function(req, res){
Order.find({})
.exec(function(err, list_orders){
if (err) {return next(err)};
// If Successful
res.render('../views/pages/index', {orders_list : list_orders});
});
});
module.exports = router;
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var OrderSchema = new Schema(
{
isDone: {type: Boolean, required: true},
name: {type: String, required: true},
quantity: {type: Number, required: true},
price: {type: Number, required: true},
phone: {type: Number},
});
OrderSchema
.virtual('url')
.get(function(){
return '/order/' + this._id;
});
module.exports = mongoose.model ('Order', OrderSchema);
我希望 'isDone' == true 订单进入'Already made' 部分,'isDone' == false 订单应该进入'Pending' 部分。但甚至没有出现单个项目。数据库连接成功,如果没有if语句则页面显示订单。
解决方案
在您的if
情况下,您具有quote your true
价值,因为 ejs 文件将其视为值而不是布尔值,因此请true
像这样引用您的内容,它会正常工作。
<% if(orders_list[i].isDone == 'true'){ %>
<div>
<h3><a href='<%= orders_list[i].url %>'><%= orders_list[i].name %></a> - <%= orders_list[i].price %> euru</h3>
<hr>
</div>
<% } %>
推荐阅读
- c# - 从我的数据库(MySQL)中获取值并自动操作游戏对象
- directx - Direct3D11:“在具有不同迭代的循环中使用梯度指令,强制循环展开”,警告:X3570
- javascript - 在 ul 和 li 标签中添加和删除类时面临问题
- sql - 在 SQL Server 中存储图像
- reactjs - NWJS 应用程序路由在开发中运行良好,构建版本不路由
- firebase - 如何从firebase实时数据库中的另一个数据库条目中引用一些信息以及来自c的一些信息
- python - 如何更新 PyInstaller 生成的 exe 详细信息?
- php - Docker 在具有 curl 支持的 alpine 映像上构建 php 失败。我该如何解决?
- javascript - 如何通过单击按钮在页面上创建多个表
- android - 将相似的外观样式应用于不同 Android 版本的 AlertDialog 框