ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Vue Template
    Vue/문법 2021. 6. 19. 22:31

     

    - 템플릿 문법

    • 렌더링 된 DOM을 컴포넌트 인스턴스의 데이터에 선언적으로 바인딩할 수 있는 HTML 기반 템플릿 구문 사용
    • 내부적으로 Vue는 템플릿을 가상 DOM 렌더링 함수로 컴파일(DOM 조작 최소화)

    - 보간법(Interpolation)

    • 문자열
      • 데이터 바인딩의 가장 기본 형태는 'Mustache'(이중 중괄호 구문) 기법을 사용한 문자열 보간법
      • v-once 디렉티브는 사용하는 데이터가 변경되어도 갱신되지 않는 일회성 보간을 수행
      <span>메시지: {{ msg }}</span>
      <span v-once>결코 변하지 않을 것입니다: {{ msg }}</span>

     

    • 원시 HTML
      • 이중 중괄호는 데이터를 HTML이 아닌 일반 텍스트로 해석
      • 실제 HTML을 출력하려면 v-html 디렉티브 사용
      • 웹사이트에서 임의의 HTML을 동적으로 렌더링하면 XSS 취약점이 발생
        • HTML 보간법은 반드시 신뢰할 수 있는 컨텐츠에서만 사용
        • 사용자가 제공한 컨텐츠에서는 절대 사용하면 안됨
      <p>v-html 디렉티브 사용: <span v-html="rawHtml"></span></p>

     

    • 속성
      • Mustaches(이중 중괄호 구문)는 HTML 속성에 사용할 수 없다.
      • 대신 v-bind 디렉티브를 사용(약어 v-bind:id => :id)
      <div v-bind:id="dynamicId"></div>
      <button v-bind:disabled="isButtonDisabled">Button</button>
      • 동적 전달인자와 사용(대괄호)
      <template>
        <h1 :[attr]="'active'" @[event]="add"></h1>
      </template>
      
      <script>
      export default {
        name: 'App',
        data() {
          return {
            attr: 'class',
            event: 'click',
          };
        }
      };
      </script>
      
      <style>
      .active {
          color: red;
          font-size: 20px;
      }
      </style>

    'Vue > 문법' 카테고리의 다른 글

    Vue 조건부 렌더링  (0) 2021.06.20
    Vue 클래스 & 스타일 바인딩  (0) 2021.06.20
    Vue Computed, Watch  (0) 2021.06.19
    Vue 라이프사이클 훅  (0) 2021.06.19
    Vue Application 인스턴스  (0) 2021.06.19

    댓글

Designed by Tistory.