여러 줄의 3 진절을 사용하여 현재 사용자가 게시물의 소유자인지 여부에 따라 페이지의 다른 내용을 조건부로 렌더링하려고합니다.EJS를 사용하는 3 항 연산자 절의 여러 줄
게시물을 작성한 경우 수정/삭제 버튼을 표시하고 싶습니다. 소유자가 아닌 경우 게시물 소유자의 사용자 이름을 표시하고 싶습니다.
필자는 React를 사용하여 이와 비슷한 문제를 겪었습니다. 제대로 작동하려면 여러 가지 괄호()를 넣어야했습니다.
여기 (포맷 더 많거나 적은 내가 JSX를 사용한다면 내가 작성한 것입니다 방법) 내 현재 EJS 코드 : 사전에
<% (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>) %>
감사합니다!
정상적인 경우 다른 조건부를 사용하면 동일하지 않습니까? 모든 것을 한 줄로 쓰고 싶다면 3 진수 연산자를 사용하십시오. – SunriseM
@SunriseM 예, 그것이 제가 끝내는 해결책입니다. 그러나 나는 삼항 연산자가 왜 작동하지 않는지에 대해 관심이 많았다. 나는 네가 맞다고 생각한다. 간결한 하나의 라이너를 쓰고 싶을 때 나는 삼항을 사용해야 만한다. 감사! –