위코딩
article thumbnail
반응형

Vue.js는 템플릿 문법을 사용하여 HTML 템플릿 내에서 동적으로 데이터를 바인딩하고, 조건부 렌더링과 반복문 등을 사용하여 UI를 조작할 수 있습니다. 아래에서 Vue 템플릿 문법에 대해 자세히 알아보겠습니다.


보간법 (Interpolation)

Vue 템플릿에서는 이중 중괄호({{ }})를 사용하여 데이터를 보간할 수 있습니다.

<div>
  <p>{{ message }}</p>
</div>

위의 코드에서 {{ message }}는 Vue 인스턴스의 message 데이터를 템플릿에 출력하는 보간법입니다.


디렉티브 (Directives)

디렉티브는 v- 접두사를 갖는 특수한 속성으로, 템플릿에서 Vue 인스턴스의 데이터와 상호작용하도록 합니다.

2-1. v-bind
v-bind 디렉티브는 Vue 데이터와 HTML 속성을 바인딩합니다.

<img v-bind:src="imageUrl">

위의 코드에서 v-bind:srcimageUrl 데이터를 src 속성과 바인딩하여 이미지 URL을 동적으로 설정합니다.

2-2. v-if와 v-else
v-if 디렉티브는 조건부 렌더링을 위해 사용되며, 조건이 참일 때 해당 요소를 렌더링합니다. v-else는 v-if와 함께 사용되어 조건이 거짓일 때 렌더링됩니다.

<div v-if="isVisible">Visible</div>
<div v-else>Not Visible</div>

위의 코드에서 isVisible 데이터에 따라 첫 번째 div 요소 또는 두 번째 div 요소가 렌더링됩니다.

2-3. v-for
v-for 디렉티브는 배열 데이터를 반복하여 요소를 렌더링합니다.

<ul>
  <li v-for="item in items" :key="item.id">{{ item.name }}</li>
</ul>

위의 코드에서 items 배열을 반복하여 li 요소를 생성하고, 각 요소의 name 값을 출력합니다.

2-4. v-on
v-on 디렉티브는 이벤트 리스너를 설정합니다.

<button v-on:click="increment">Increment</button>

위의 코드에서 v-on:clickincrement 메서드를 클릭 이벤트에 바인딩합니다.

2-5. v-model
v-model 디렉티브는 폼 입력 요소와 Vue 데이터를 양방향으로 바인딩합니다.

<input v-model="message" type="text">

위의 코드에서 message 데이터와 input 요소의 값을 양방향으로 바인딩합니다.


이벤트 수식어 (Event Modifiers)

이벤트 수식어는 이벤트를 더 쉽게 처리하기 위해 사용되며, v-on 뒤에 점(.)을 사용하여 지정합니다.

<input v-on:keyup.enter="submit">

위의 코드에서 keyup.enter는 Enter 키를 누를 때만 submit 메서드를 호출합니다.


Vue 템플릿 문법은 보간법과 디렉티브를 통해 Vue 데이터와 템플릿을 유연하게 바인딩할 수 있습니다. v-bind, v-if, v-for, v-on, v-model 등의 디렉티브와 이벤트 수식어를 활용하여 Vue 애플리케이션의 동적인 UI를 구현할 수 있습니다. Vue 템플릿 문법을 잘 이해하고 활용하여 멋진 웹 애플리케이션을 개발해보세요!

반응형
loading loading