首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ejs中的条件运算符

ejs中的条件运算符
EN

Stack Overflow用户
提问于 2016-08-11 01:25:28
回答 2查看 1.6K关注 0票数 0

这听起来可能很简单。有一个very similar answer,但不知何故,我的代码行为突然,让我抓狂。我已经在这上面花了4-5个小时。任何帮助都是最好的。

我正在建立一个Socket.IO聊天应用程序使用节点+快速+护照。我想将当前用户的userId与连接的其他用户的users进行比较。我想向他展示除了他自己以外的所有用户在Socket.IO中聊天。

为了清晰起见,请阅读代码注释:

users.js

代码语言:javascript
运行
复制
app.get('/users', function (req, res) {

var connectedUsers = require('../app').chatUsers; // =>  This is an array of all logged in user and I am getting this all correctly.

if (req.isAuthenticated()) {

    res.render('users', {
        currentUser: req.user,
        users: connectedUsers,
        title: 'OnLineUsers'

    });
}
});

users.ejs

代码语言:javascript
运行
复制
<h3>CurrentUser : <%- currentUser.id %></h3> // => This Prints like **abcdefg**


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

<h3>UserID: <%- users[i].id %></h3> // => This also prints the same **abcdefg** if only one user is connected.

<% if( currentUser.id !== users[i].id){ %> // => But this Conditional Operator  does not works and show the current user himself.

<ul>
    <li>
        <h3> <%= users[i].name %></h3>
        <a href="/socket" id="chatRoomUrl">
            <button type="submit" class="btn-success">Chat</button>
        </a>
    </li>

</ul>

<% } %>
<% } %>

提前谢谢。如果我有什么愚蠢的错误,请原谅我浪费您的时间。

EN

回答 2

Stack Overflow用户

发布于 2016-08-11 20:26:53

您的代码很好。也许在两个属性中有空间。尝试:

代码语言:javascript
运行
复制
currentUser.id.trim() !== users[i].id.trim()
票数 0
EN

Stack Overflow用户

发布于 2017-03-26 03:05:53

更改以下行,请注意更改:

代码语言:javascript
运行
复制
<h3> <%= users[i].name %></h3>

要这样做:

代码语言:javascript
运行
复制
<h3> <%- users[i].name %></h3>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38879882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档