v-show는 시각적으로만 보이지 않게, v-if는 DOM에서 완전히 제외된다.

[Vue] v-show와 v-if의 차이

 

[Vue] v-show와 v-if의 차이

 

1. v-show, v-if의 역할과 차이

2. 언제 사용하는가

 

1. v-show, v-if의 역할과 차이

 v-show와 v-if는 할당된 문자열 값이 거짓일 시 화면에 나타내지 않는다. 그러나 보이는 화면은 같지만 실제 표현되는 HTML 구조에는 차이가 있다.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vue v-show와 v-if의 차이</title>
  </head>
  <body>
    <div id="app">
      <div id="show">
        show
        <!-- v-show로 설정된 요소 -->
        <div v-show="false">v-show를 사용하여 보이지 않게 처리된 요소</div>
      </div>
      <div id="if">
        if
        <!-- v-if로 설정된 요소 -->
        <div v-if="false">v-if를 사용하여 보이지 않게 처리된 요소</div>
      </div>
    </div>
    <script type="text/javascript" src="https://unpkg.com/vue"></script>
    <script type="text/javascript">
      const vm = Vue.createApp({
        name: "App",
      }).mount("#app");
    </script>
  </body>
</html>

v-show는 HTML 구조에 속해있지만, v-if는 HTML 구조에 포함되지 않는다.

2. 언제 사용하는가

  v-show
  • 렌더링 여부가 자주 변경되는 요소 (예외적으로 사용) e
  • x) 체크 박스 값에 따라 추가로 입력해야 하는 input

 v-if
  • 렌더링 여부가 자주 변경되지 않는 대부분의 요소
  • ex) 언어 설정에 따라 다르게 렌더링되는 요소

+ Recent posts