#02. v-for
이번에는 v-for이다.
v-for문을 통해서 반복문을 돌면서 출력하거나 처리를 한다.
아래와 같이 코드작성
<body>
<div id="app">
<ul>
<li v-for="n in numbers">{{ n }}</li>
</ul>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
var firstApp = new Vue({
el: "#app",
data: {
numbers: [1, 2, 3, 4, 5, 6, 7],
},
});
</script>
</body>
data안에 number 배열을 선언해두고 v-for문을 통해서 출력하는형태이다. 형태자체가 어렵지 않은데 익숙하지 않아서 계속해서 사용해봐야한다.
v-for문은 배열뿐만 아니라 객체도 출력이 가능하다.
<body>
<div id="app">
<table>
<tbody>
<tr v-for="item in sample">
<td>{{item.data1}}</td>
<td>{{item.data2}}</td>
</tr>
</tbody>
</table>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
var firstApp = new Vue({
el: "#app",
data: {
sample: [
{
data1: "sample1",
data2: 30,
},
{
data1: "sample2",
data2: 40,
},
{
data1: "sample3",
data2: 50,
},
],
},
});
</script>
</body>
일전에 배웠던 v-if문과 합쳐서도 사용이 가능하다.
<body>
<div id="app">
<table>
<tbody>
<tr v-for="item in sample" v-if="item.data2 > 30">
<td>{{item.data1}}</td>
<td>{{item.data2}}</td>
</tr>
</tbody>
</table>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
var firstApp = new Vue({
el: "#app",
data: {
sample: [
{
data1: "sample1",
data2: 30,
},
{
data1: "sample2",
data2: 40,
},
{
data1: "sample3",
data2: 50,
},
],
},
});
</script>
</body>
v-for문 안에 v-if로 조건을 주었다. 이렇게되면 item.data2가 30 이하인것들만 출력되게 된다.