pageClass | sidebarDepth | title | description | since |
---|---|---|---|---|
rule-details |
0 |
vue/no-v-for-template-key-on-child |
disallow key of `<template v-for>` placed on child elements |
v7.0.0 |
disallow key of
<template v-for>
placed on child elements
- ⚙️ This rule is included in all of
"plugin:vue/vue3-essential"
,*.configs["flat/essential"]
,"plugin:vue/vue3-strongly-recommended"
,*.configs["flat/strongly-recommended"]
,"plugin:vue/vue3-recommended"
and*.configs["flat/recommended"]
.
This rule reports the key of the <template v-for>
placed on the child elements.
In Vue.js 3.x, with the support for fragments, the <template v-for>
key can be placed on the <template>
tag.
See Migration Guide - key
attribute > With <template v-for>
for more details.
::: warning Note This rule is targeted at Vue.js 3.x. If you are using Vue.js 2.x, enable the vue/no-v-for-template-key rule instead. Don't enable both rules together; they are conflicting. :::
<template>
<!-- ✓ GOOD -->
<template v-for="todo in todos" :key="todo">
<Foo />
</template>
<!-- ✗ BAD -->
<template v-for="todo in todos">
<Foo :key="todo" />
</template>
</template>
Nothing.
This rule was introduced in eslint-plugin-vue v7.0.0