UNI-APP에서는 v-if
, v-else
및 v-show
같은 조건부 렌더링 지시문을 사용하면 특정 조건에 따라 요소 렌더링을 제어 할 수 있습니다. 사용 방법은 다음과 같습니다.
V-IF : 표현이 True로 평가되면이 지시문은 조건부로 요소를 렌더링합니다. 표현식이 거짓 인 경우 요소와 포함 된 지침/표현이 컴파일되거나 렌더링되지 않습니다.
<code class="html"><view v-if="condition">This will be rendered if 'condition' is true</view></code>
V-ELSE :이 지침은 즉시 v-if
또는 v-else-if
요소를 따라야합니다. 이전 조건부 지침의 표현이 False로 평가되는 경우에만 요소를 렌더링합니다.
<code class="html"><view v-if="condition">This will be rendered if 'condition' is true</view> <view v-else>This will be rendered if 'condition' is false</view></code>
V-Show : v-if
와 유사하게,이 지침은 표현에 따라 요소의 가시성을 토글합니다. v-if
와 달리 요소는 항상 컴파일되고 DOM에 머무르지 만 그 가시성은 display
CSS 속성을 통해 제어됩니다.
<code class="html"><view v-show="condition">This will be shown or hidden based on 'condition'</view></code>
Uni-App의 v-if
와 v-show
성능 차이는 DOM 조작 처리에 대한 다양한 접근 방식에서 비롯됩니다.
v-show
요소의 display
CSS 속성을 전환합니다. 이는 DOM에서 요소를 추가하거나 제거하는 것이 포함되지 않기 때문에 성능 측면에서 저렴합니다. 요소는 DOM에 남아 있으며 단순히 숨겨져 있거나 표시되므로 상태가 자주 변할 것으로 예상되는 상황에 더 적합합니다. 요약하면, 시간이 지남에 따라 더 많은 리소스 효율적이므로 자주 변경되지 않는 컨텐츠 블록을 조건부로 렌더링해야 할 때 v-if
사용하십시오. DOM 조작 측면에서 오버 헤드가 적기 때문에 무언가를 매우 자주 전환해야 할 때 v-show
사용하십시오.
UNI-APP에서는 v-else
독립적으로 사용할 수 없습니다. 항상 v-if
또는 v-else-if
지침을 따라야합니다. v-else
지시문은 v-if
의 "다른 블록"역할을하며, 이전 조건부 지침의 표현이 False로 평가되는 경우에만 렌더링됩니다.
다음은 잘못되고 올바른 사용법의 예입니다.
<code class="html"><!-- Incorrect usage: 'v-else' used independently --> <view v-else>This is incorrect and won't work</view> <!-- Correct usage: 'v-else' follows a 'v-if' --> <view v-if="condition">This is correct</view> <view v-else>This will work correctly</view></code>
UNI-APP의 조건부 렌더링 지시문 중첩을 사용하면 여러 조건을 결합하여보다 복잡한 UI 논리를 만들 수 있습니다. 다음은 v-if
, v-else-if
및 v-else
중첩하는 방법의 예입니다.
<code class="html"><view v-if="outerCondition"> <view v-if="innerCondition1">This is rendered if both outerCondition and innerCondition1 are true</view> <view v-else-if="innerCondition2">This is rendered if outerCondition is true and innerCondition2 is true</view> <view v-else>This is rendered if outerCondition is true and neither innerCondition1 nor innerCondition2 is true</view> </view> <view v-else>This is rendered if outerCondition is false</view></code>
이 예에서, 외부 v-if
및 v-else
최상위 조건을 제어하는 반면, 내부 v-if
, v-else-if
및 v-else
추가 조건에 따라 렌더링을 추가로 개선합니다. 이 중첩 구조를 사용하면 다양한 조건을 결합하고 응용 프로그램 상태에 따라 다른 콘텐츠를 렌더링하여 UI에 대한 복잡한 논리를 구축 할 수 있습니다.
위 내용은 UNI-APP의 조건부 렌더링 지침 (V-IF, V-ELSE, V-SHOW)을 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!