複数行の3項節を使用して、現在のユーザーが投稿の所有者であるかどうかに応じて、ページのさまざまなコンテンツを条件付きで表示しようとしています。EJSを使用した3項演算子節の複数の行
投稿を投稿した場合は、編集/削除ボタンを表示する必要があります。彼らが所有者でない場合、私は投稿の所有者のユーザー名を表示したいと思います。
Reactでこれと同様の問題を抱えていましたが、私はそれを機能させるためにたくさんの括弧を投げ入れる必要があることに気づきました。ここで
私の現在のEJSコードは(多かれ少なかれ私はJSXを使用していた場合、私はそれを書かれているような方法でフォーマット)である:事前に
<% (currentUser && artpiece.author.id.equals(currentUser._id)) ? (%>
<a class='btn btn-warning btn-sm' href='/artpieces/<%= artpiece._id %>/edit'>Edit</a>
<form style='display: inline' action="/artpieces/<%= artpiece._id %>?_method=DELETE" method="POST">
<button class='btn btn-danger btn-sm' onclick="return confirm('Are you sure you want to delete this artpiece?')">Delete</button>
<% </form>) : (%>
<% <p><em>Submitted by <%= artpiece.author.username %></em></p>) %>
ありがとう!
通常のif else条件を使用すると同じではないでしょうか?私はすべての行を1行に書きたいときに3進演算子を使用します。 – SunriseM
@SunriseMはい、それは私が行った結論です。しかし、私はまだ三項演算子が働いていなかった理由を知りたいと思っていました。私はあなたが正しいと思う:たぶん私は簡単なライナーを書くしたいときに三項を使用する必要があります。ありがとう! –