HTML,CSS 등 마크업 속성과 뷰 인스턴스에서 사용자가 볼 수 있는 html 형식으로 변환해주는 속성
Vue 의 기능들을 사용하기 위해서 사용하는, HTML 태그 안에 들어가는 하나의 속성
v-
prefix를 지니고 있음
v-text
{{ }}
로 대체하여 사용 가능 <h1>Hello
<span v-text="name"></span>
</h1>
OR
<h1>Hello
{{ name }}
</h1>
var app = new Vue({
el:
'#app',
data: {
name: '이탈릭'
}
});
결과 : Hello 이탈릭
v-html
<h1>Hello
<span v-html ="name"></span>
</h1>
var app = new Vue({
el:
'#app',
data: {
name: '이탈릭'
}
});
결과 : Hello 이탈릭
v-show
<h1>Hello
<span v-show="visible" v-html ="name"></span>
</h1>
var app = new Vue({
el: '#app', // 어떤 엘리먼트에 적용을 할 지 정합니다
data: {
name: '<i>이탈릭</i>',
visible: false // true면 보여줌
}
});
결과 : 이탈릭 문구가 안보임
v-if
<h1 v-if="value > 5">value 가 5보다 크군요</h1>
var app = new Vue({
el: '#app',
data: {
value: 10
}
});
결과 : "value 가 5보다 크군요" 값이 노출 됨
v-else
<h1 v-if="value > 5">value 가 5보다 크군요</h1>
<h1 v-else>value 가 5 보다 작아요</h1>
var app = new Vue({
el: '#app',
data: {
value: 3
}
});
결과 : "value 가 5 보다 작아요"가 노출됨
v-else-if
<h1 v-if="value > 5">value 가 5보다 크군요</h1>
<h1 v-else-if="value === 5">값이 5네요</h1>
<h1 v-else>value 가 5 보다 작아요</h1>
var app = new Vue({
el: '#app',
data: {
value: 5
}
});
결과 : "값이 5네요"가 노출됨
v-pre
<h1 v-if="value > 5">value 가 5보다 크군요</h1>
<h1 v-else-if="value === 5">값이 5네요</h1>
<h1 v-else>value 가 5 보다 작아요</h1>
<h1 v-pre>{{ 조건 안탑니다 }}</h1>
var app = new Vue({
el: '#app',
data: {
value: 5
}
});
결과 : "값이 5네요 {{ 조건 안탑니다 }}"가 노출 됨
v-cloak
<div id="app" v-cloak>
<h1 v-if="value > 5">value 가 5보다 크군요</h1>
<h1 v-else-if="value === 5">값이 5네요</h1>
<h1 v-else>value 가 5보다 작아요</h1>
<h1 v-pre>{{ 이건 그대로 렌더링해줘요 }}</h1>
</div>
<style>
[v-cloak]{
display: none;
}
</style>
v-once
<h1 v-if="value > 5">value 가 5보다 크군요</h1>
<h1 v-else-if="value === 5">값이 5네요</h1>
<h1 v-else>value 가 5 보다 작아요</h1>
<h1 v-once>초기 밸류 : {{value}}</h1>
<h1 v-pre>{{ 조건 안탑니다 }}</h1>
var app = new Vue({
el: '#app',
data: {
value: 5
}
});
결과 : "값이 5네요 초기 밸류 : 5 {{ 조건 안탑니다 }}"가 노출 됨
v-bind
v-bind : 속성값
이런식으로 쓰이기도 하지만 더 줄여서 :속성값
으로 많이 쓰임<div id="app">
<h1>Hello, {{ name }}</h1>
<img v-bind:src="feelsgood"/>
</div>
=======
OR
=======
<div id="app">
<h1>Hello, {{ name }}</h1>
<img :src="feelsgood"/>
</div>
var app = new Vue({
el: '#app', // 어떤 엘리먼트에 적용을 할 지 정합니다
// data 는 해당 뷰에서 사용할 정보를 지닙니다
data: {
name: 'Vue',
feelsgood: 'feelsgood.jpg'
}
});
결과 : feelsgood 이미지가 노출됨
v-for
v-for="item in array"
로 array가 반복되면서 item에 요소 하나하나를 넣어줌<div id="app">
<h1>Hello, {{ name }}</h1>
<ul>
<li v-for="item in city">도시 : {{city}}<li>
</ul>
</div>
var app = new Vue({
el: '#app', // 어떤 엘리먼트에 적용을 할 지 정합니다
// data 는 해당 뷰에서 사용할 정보를 지닙니다
data: {
city:['서울','대구']
}
});
결과 : 도시 : 서울
도시 : 대구
라는 문구가 노출 됨
v-model
<input v-model="inputText">
HTMLCopy
new Vue({
data: {
inputText: ''
}
})