Written by
최태열
on
on
Vue 조건문, 반복문
v-if
조건문에 부합하지 않으면 렌더링 하지 않는다.
<div id="money">
돈 : <input type="text" v-model.lazy="amount"><br>
<!-- 돈이 플러스면 lion.png 보이게 함-->
<img v-if="amount > 0" src= "images/lion.png">
<img v-else-if="amount == 0" :src="imgSrc">
<img v-else src="images/apeach.png">
</div>
<script>
new Vue({
el : "#money",
data : {
amount: 0,
imgSrc: "images/logo.png"
}
});
</script>
amount 값에 따라 출력되는 이미지가 바뀐다.
v-for
<div id="app">
<dl>
<dt>1. java script 리터럴 객체의 데이터값 반복해서 렌더링</dt>
<dd>
<!-- 반복문 자체 반환 데이터 순서 : 값 -> property명(변수명, 속성명, key명)-->
<li v-for="(value, key, index) in alias">
- 속성명 : , 값 :
</li>
</dd>
<hr>
<dd>
<!-- 배열 구조에서는 값, index-->
<li v-for="(value, index) in coffees">
.
</li>
</dd>
<hr>
<dd>
<li v-for="(value, index) in emp">
.
<span v-for="(data, key) in value">
:
</span>
</li>
</dd>
<hr>
<dd>
<li v-for="value in coffees" v-if="(value=='라떼')">
<b></b>
</li>
<li v-else></li>
</dd>
<hr>
<dd>
<template v-for="(value, key) in favorite">
<li>좋아하는 취미 : </li>
<hr v-if="key%3==0">
</template>
</dd>
</dl>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
let model = {
favorite: ["공부", "영화보기", "빈둥거리기", "몽상하기"], //배열 객체
coffees: ["아메리카노", "라떼", "돌체라떼", "모카"],
alias: { // 객체
name: "유재석",
nickName: "예능인"
},
emp: [
{ "firstName": "John", "lastName": "Doe" },
{ "firstName": "Anna", "lastName": "Smith" },
{ "firstName": "Peter", "lastName": "Jones" }
]
}
let vm = new Vue({
el: "#app",
data: model
})
</script>
객체 구조에서 v-for
v-for=”(value, key, index) in alias”
value, key, index 순서로 맵핑
배열 구조에서 v-for
v-for=”(value, index) in coffees”
value, index 순서로 맵핑
v-for=”value in coffees” v-if=”(value==’라떼’)”
v-if와 동시에 사용 가능
Discussion and feedback