⚠️ 이 포스팅은 Vue3(한국어): 템플릿 문법을 공부하고 정리한 블로그 포스팅입니다. ⚠️
- 디렉티브
- 동적 전달인자
동적 전달인자(Dynamic Parameter)
데이터를 HTML의 속성 이름으로 사용하고 싶을때 Javascript 표현식처럼 대괄호로 묶어 디렉티브의 인수(argument)로 사용할 수 있다. 아래 예제에선 h1 요소의 속성값 :[attr]="'active'" @[event]="add"는 결과적으로 :class="msg" @click="add"를 의미한다. v-bind를 생략해 :로 v-on:을 생략해 @로 사용하였다. 속성값으로 데이터가 아닌 문자열을 사용하고 싶을때는 작은따옴표로 속성값을 넣어주면 된다. 아래의 예제에서는 active라는 문자열을 class로 사용하기 위해 작은따옴표로 한번더 감싸주었다. 작은따옴표로 감싸주지 않으면 class="active"에서 active는 아래의 데이터를 가리키게되는데 active라는 데이터가 없으므로 클래스가 정상적으로 입력되지 않게 된다.
<template>
<h1 :[attr]="'active'" @[event]="add">{{ msg }}</h1>
<!-- :class="active" @click="add" -->
<!-- :[attr]="msg"를 사용하면 add 메서드가 실행될때 msg값이 바뀌므로 class도 바뀐다 -->
<!-- '' 작은 따옴표로 묶어 클래스이름을 데이터가 아닌 문자열로 만들어준다 -->
</template>
<script>
export default {
name: 'StringComp',
data() {
return {
msg: 'active',
attr: 'class',
event: 'click',
};
},
methods: {
add() {
this.msg += '!';
},
},
};
</script>
<style scoped>
.active {
color: royalblue;
font-size: 100px;
}
</style>'Vue' 카테고리의 다른 글
| [Vue] Computed 속성과 Computed 캐싱 (0) | 2022.06.12 |
|---|---|
| [Vue] 지금까지 배운 디렉티브 정리 (계속 업데이트 될 예정) (0) | 2022.06.12 |
| [Vue] 템플릿 문법 (문자열, 원시 HTML, 속성) (0) | 2022.06.12 |
| [Vue] 라이프 사이클 훅, 다이어그램 설명 (0) | 2022.06.12 |
| [Vue] 어플리케이션 인스턴스 생성하기 (0) | 2022.06.12 |
댓글