Development/Vue.js
[Vue.js] 템플릿 문법
Rosie, Lee
2021. 9. 27. 00:32
Vue.js의 공식 문서를 참고하여 정리합니다.
템플릿 문법 | Vue.js
템플릿 문법 Vue.js는 렌더링 된 DOM을 컴포넌트 인스턴스의 데이터에 선언적으로 바인딩할 수 있는 HTML 기반 템플릿 구문을 사용합니다. 모든 Vue.js 템플릿은 스펙을 호환하는 브라우저 및 HTML 파
v3.vuejs-korea.org
데이터 바인딩의 기본적인 형태
보간법(데이터를 보간하는 방법) = Mustache(이중 중괄호)를 사용한 텍스트 보간법입니다.
<template>
<p>{{ msg }}</p>
</template>
<script>
export default {
data() {
return {
msg: 'Hello!'
}
}
}
</script>
v-once 디렉티브를 사용하여 데이터가 변경되도 업데이트 되지 않는 일회성 보간을 수행할 수 있습니다.
데이터를 단 한번만 화면에 렌더링 후 데이터가 변경하더라고 화면에 갱신하지 않습니다.
<template>
<p
v-once
@click="add">
{{ msg }}
</p>
</template>
<script>
export default {
data() {
return {
msg: 'Hello!'
}
},
methods:{
add() {
this.msg += '!'
}
}
}
</script>
원시 HTML
일반 텍스트가 아닌, 실제 html 형식으로 출력하고 싶을 때 사용합니다.
이중 중괄호는 일반 텍스트로 밖에 해석할 수 밖에 없기 때문에, v-html 을 사용합니다.
<template>
<p v-html="msg"></p>
</template>
<script>
export default {
data() {
return {
msg: '<div style="color:red">Hello!</div>'
}
}
}
</script>
속성
Mustache(이중 중괄호)는 html 속성을 사용할 수 없으므로 v-bine를 사용합니다.
<template>
<p
v-bind:class="'active'"
@[event]="add">
{{ msg }}
</p>
</template>
<script>
export default {
data() {
return {
msg: 'active',
event: 'click'
}
},
methods:{
add() {
this.msg += '!'
}
}
}
</script>
<style scoped>
.active {
color: red;
}
</style>
반응형