728x90
아래와 같이 코드를 입력하면 v-for 추가하면 v-bind:key 입력 오류가 나타난다.
<template>
<div id="app">
<ul>
<li v-for="(menu,i) in gnb ">
<router-link v-bind:to="{ name: menu.name }" >{{i}}{{menu.name}}</router-link>
</li>
</ul>
<router-view/>
</div>
</template>
아래 내용을 보면 문자열 이나 숫자 타입으로 추가하라는 경고가 나온다.
해결방벙 :
1. key 값에 for의 인덱스 값 입력
<template>
<div id="app">
<ul>
<li v-for="(menu,i) in gnb" v-bind:key="i">
<router-link v-bind:to="{ name: menu.name }" >{{i}}{{menu.name}}</router-link>
</li>
</ul>
<router-view/>
</div>
</template>
2. 메뉴별 이름을 특정하고 싶다면 key 값에 for의 인덱스 값 과 메뉴명의 조합으로 입력
<template>
<div id="app">
<ul>
<li v-for="(menu,i) in gnb" v-bind:key="`${menu.name}-${i}`">
<router-link v-bind:to="{ name: menu.name }" >{{i}}{{menu.name}}</router-link>
</li>
</ul>
<router-view/>
</div>
</template>
'웹프레임워크 > vue.js' 카테고리의 다른 글
mounted, created 차이점 (0) | 2022.01.22 |
---|---|
firebase 파일 분화하여 적용 (0) | 2022.01.21 |
firestore 사용하기 (0) | 2022.01.15 |
vue.js 콤포넌트에서 data 선언 (0) | 2022.01.15 |
vue js + webpack install( 설치 ) (0) | 2022.01.14 |