これは本当に簡単かもしれません。 very similar answerがありますが、何とか私のコードが突然動作していて、私を狂ってしまいます。私はこの最後の4-5時間を費やしました。どんな助けも素晴らしいだろう。ejsの条件演算子
私はNode + Express + Passportを使用してSocket.IOチャットアプリケーションを構築しています。現在のユーザーのuserIdと、接続されている他のユーザーのuserIdを比較したいと思います。私はSocket.IOでチャットをするために彼以外のすべてのユーザーを彼に見せたいと思う。明確にするためのコードの
読むのコメント:
users.js
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
<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>
<% } %>
<% } %>
事前に感謝します。もし私の中に愚かな間違いがあるなら、あなたの時間を無駄にしてくれてよろしいですか?