HTML의 기본속성이 아닌 Vue가 제공하는 특수 속성의 값으로 data를 작성
v-이름
의 형태로 값에는 JS 표현식을 작성할 수 있음
표현식의 값이 변경될 때 반응적으로 DOM에 적용하는 것이 역할
v-text
<div id="app2">
<!-- 1 -->
<p v-text="message"></p>
<!-- 2 -->
<p>{{ message }}</p>
</div>
<script>
const app2 = new Vue({
el: "#app2",
data: {
message: "hello!",
}
})
</script>
v-html
<div id="app2">
...
<p v-html="some-html"></p>
</div>
<script>
const app2 = new Vue({
el: "#app2",
data: {
...,
some-html: "<a href='#'>HI</a>"
}
})
</script>
v-show
<div id="app3">
...
<p v-show="isActive">보이니 안보이니?</p>
</div>
<script>
const app3 = new Vue({
el: "#app3",
data: {
isActive: false
}
})
</script>
v-if
v-show
와 사용 방법은 동일v-for
for .. in ..
형식으로 작성enumerate
처럼 index도 접근 가능dot notation
으로도 접근 가능<div id="app1">
<div v-for="(char, index) in myStr">
<p>{{ index }}번째 문자 {{ char }}</p>
</div>
</div>
<script>
const app1 = new Vue({
el: "#app1",
data: {
myStr: "hello"
}
})
</script>
v-on
addEventListener
와 동일한 역할:
를 통해 addEventListener
의 첫 번째 인자와 동일한 형태의 값을 전달v-on
대신 @
로 단축하여 사용 가능<div id="app">
<button v-on:click="number++">
increase Number
</button>
<p>{{ number }}</p>
</div>
<script>
const app = new Vue({
el: "#app",
data: {
number: 0,
},
})
</script>
v-bind
:
로 단축하여 사용 가능{className: 조건표현식}
[표현식1, 표현식2, ...]
<div id="app">
<a v-bind:href="url">Go to Google</a>
</div>
<script>
const app = new Vue({
el: "#app",
data: {
url: "https://www.google.com/",
},
})
</script>
v-model
<div id="app">
<h3>{{ msg }}</h3>
<input v-model="msg" type="text">
</div>
<script>
const app = new Vue({
el: "#app",
data: {
msg: "",
},
})
</script>