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:src는 imageUrl 데이터를 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:click은increment 메서드를 클릭 이벤트에 바인딩합니다.
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 템플릿 문법을 잘 이해하고 활용하여 멋진 웹 애플리케이션을 개발해보세요!
'Framework > Vue.js' 카테고리의 다른 글
[Vue.js] Vuex를 이용한 상태 관리 (0) | 2023.07.24 |
---|---|
[Vue.js] Vue.js 컴포넌트 라이프사이클 (0) | 2023.07.24 |
[Vue.js] Vue.js 디렉티브 (0) | 2023.07.24 |
[Vue.js] Vue.js 컴포넌트 (0) | 2023.07.24 |
[Vue.js] Vue.js 소개와 기본 구조 (0) | 2023.07.21 |