v-for
게시판의 게시글 리스트나 반복적인 내용을 보여줘야 할 때 v-for 디렉티브를 사용한다.
v-for="item in items" 와 :key 형태이다.
뷰에서 사용하는 for문이라고 생각하면 된다.
결과 화면
v-for 사용하기
- pages/index.vue
- <script> 태그 안 data() 영역에 배열을 만든다. (dataList)
- <li> 태그가 반복되어야 하기 때문에 <li> 태그에 v-for와 :key를 작성한다.
- 중괄호 {{ ~ }} 안에 배열의 속성값을 작성한다.
<template>
<TheLayout>
<ul>
<li
v-for="(list, key) in dataList"
:key="`list-${key}`">
<h2>{{ list.title }}</h2>
<p>{{ list.content }}</p>
<span>{{ list.date }}</span>
</li>
</ul>
</TheLayout>
</template>
<script>
import TheLayout from "@/components/layout/TheLayout"
export default {
name: 'Main',
components: {
TheLayout
},
data() {
return {
dataList: [
{
title: 'Nuxt.js',
content: 'Nuxt.js란, Vue.js 애플리케이션을 구축할 수 있는 오픈 소스 프레임워크이다.',
date: '2023-10-01'
},
{
title: 'Slot',
content: '컴포넌트를 랜더링 할 때 html로 작성한 코드가 컴포넌트의 slot 부분으로 교체된다.',
date: '2023-10-02'
},
{
title: '뷰 SASS/SCSS 적용하기',
content: 'sass/scss를 적용하고 싶은 .vue 파일에서 script 태그 아래에 style 태그를 작성한다.',
date: '2023-10-03'
}
]
}
}
}
</script>
'Vue, Nuxt > 문법' 카테고리의 다른 글
[Vue/Nuxt] 뷰 Router 적용하기 (라우터 변수 만들어 전역에서 관리하기) (1) | 2023.10.30 |
---|---|
[Vue/Nuxt] 뷰 v-if, v-else를 사용해 리스트 있고 없을 때 다르게 렌더링하기 (0) | 2023.10.26 |
[Vue/Nuxt] 뷰 props, emit으로 컴포넌트 간에 값 전달하기 (BaseButton 만들기) (0) | 2023.10.25 |
[Vue/Nuxt] 뷰 SASS/SCSS 적용하기 (+ 전역 SCSS) (0) | 2023.10.18 |
[Vue/Nuxt] 뷰 레이아웃 컴포넌트 만들기 (slot) (0) | 2023.10.13 |