node.js - Node.js - 渲染一个未定义的变量
问题描述
也许标题的名称是错误的,但我有一个具体的问题。如果用户是管理员,我想做的是显示编辑和删除帖子的可能性。我有一个名为 currentUser 的局部变量,它专门保存用户名、密码和角色的数据。如果用户已登录,这行代码可以正常工作,但我遇到的问题是局部变量中没有数据时。如果我给出一个语句 if(currentUser == undefined or null) 我仍然得到一个错误并且该站点没有呈现(我得到的错误是角色未定义)。由于我对此还很陌生,我相信 currentUser 数据来自护照 js 的中间件功能。我的问题是当 currentUser 未定义时如何呈现页面。
提前致谢!
<% menu.forEach(function(menu){ %>
<div class="col-lg-4 col-md-6 col-12 p-2 m-0 d-inline-block">
<div class="card" style="width: 22rem; ">
<img class="card-img-top img-fluid" src="<%= menu.pictureUrl %>" alt="Card image cap">
<div class="card-body">
<div style="height: 9rem;">
<h5 class="card-title"><%= menu.meal %></h5>
<div style="height: 4rem;">
<p class="card-text"><%= menu.description %></p>
</div>
<div style="height: 4rem;">
<p class="card-text"><strong><%=menu.price %>,00 Kn</strong></p>
</div>
</div>
<% if(currentUser.role == undefined){ %>
<a href="#" class="btn btn-primary">Stavi u košaricu</a>
<%} else if(currentUser.role === "admin"){ %>
<a href="/menu/<%=menu._id%>/edit" class="btn btn-warning">Uredi</a>
<div class="d-inline">
<form class="d-inline" action="/menu/<%=menu._id%>?_method=DELETE" method="post"><button
class="btn btn-danger">Obriši</button></form>
</div>
<%}%>
</div>
</div>
</div>
<% }); %>
</div>
</div>
</div>
解决方案
推荐阅读
- html - Pandas read_html 在 Anaconda Spyder 中花费的时间太长——为什么?
- sql - 从带时间戳的记录转换为 15 分钟的定期记录
- javascript - 在此 mousemove 函数中时,如果语句永远不会为真
- spring-boot - 应用洞察通用日志记录实用程序服务 - 有效模式?
- wpf - 为什么 WPF PasswordBox 不可滚动
- c# - 消息验证引发“未找到消息”异常
- swift - 等待应用程序窗口打开后再继续
- reactjs - React:处于防止重新渲染状态的类实例
- react-native - 缩小时iOS上的React-native-maps崩溃
- c# - 无法在 Unity 中使用 HTTP 客户端连接到我的 API