>  Q&A  >  본문

Vue의 조건부 렌더링: Firestore 필드 값이 특정 문자열 값과 일치하는 경우에만 표시

<p>Firestore 데이터베이스 필드("review" 컬렉션의 <code>reviewPrivacy</code> 필드)는 문자열 유형이며 Vue 양식 입력(라디오 버튼)으로 채워지며 세 가지 가능한 답변(값)이 있습니다. 하나는 < ;코드>keepFullyPrivate. </p> <p><code>review.reviewPrivacy</code> 값이 <code>keepFullyPrivate</code>인 경우, 리뷰어의 신원은 비공개</ h2></code>. </p> <p>이 작업이 완료되면 <code>v-if-else</code> 및 <code>v-else</code> 옵션을 추가하여 각 옵션에 대해 다른 콘텐츠를 표시하겠습니다. </p> <p>내 코드는 다음과 같습니다. </p> <p>VSC에는 오류가 표시되지 않지만 <code><h2></code> 태그의 텍스트는 <code>review.reviewPrivacy</code> <code>keepFullyPrivate</code>와 같은지 여부에 관계없이. </p> <pre class="brush:php;toolbar:false;"><div v-if="('review.reviewPrivacy', '==', 'keepFullyPrivate')"><h2> 댓글 작성자의 신원은 비공개입니다</h2></div></pre> <p>업데이트(추가 정보): </p>
<p>감사합니다! </p>
P粉007288593P粉007288593388일 전467

모든 응답(2)나는 대답할 것이다

  • P粉864872812

    P粉8648728122023-08-29 15:54:29

    으아악 으아악

    회신하다
    0
  • P粉265724930

    P粉2657249302023-08-29 10:25:42

    ('review.reviewPrivacy', '==', 'keepFullyPrivate')只是一组以逗号分隔的字符串,并且它的值为最后一个字符串:'keepFullyPrivate',所以你的标记变成了v-if="'keepFullyPrivate'",它总是为真。因此,div及其h2 항상 렌더링됩니다.

    비교를 위한 올바른 표현 review.reviewPrivacy'keepFullyPrivate'은:

    으아악

    등호 3개(===)를 사용하여 엄격한 비교를 하는 것이 좋습니다.

    최종 결과는 다음과 같습니다.

    으아악

    회신하다
    0
  • 취소회신하다