pageClass | sidebarDepth | title | description | since |
---|---|---|---|---|
rule-details |
0 |
vue/no-template-key |
disallow `key` attribute on `<template>` |
v3.4.0 |
disallow
key
attribute on<template>
- ⚙️ This rule is included in all of
"plugin:vue/vue3-essential"
,*.configs["flat/essential"]
,"plugin:vue/essential"
,*.configs["flat/vue2-essential"]
,"plugin:vue/vue3-strongly-recommended"
,*.configs["flat/strongly-recommended"]
,"plugin:vue/strongly-recommended"
,*.configs["flat/vue2-strongly-recommended"]
,"plugin:vue/vue3-recommended"
,*.configs["flat/recommended"]
,"plugin:vue/recommended"
and*.configs["flat/vue2-recommended"]
.
Vue.js disallows key
attribute on <template>
elements.
This rule reports the <template>
elements which have key
attribute.
<template>
<!-- ✓ GOOD -->
<div key="foo"> ... </div>
<template> ... </template>
<!-- It's valid for Vue.js 3.x -->
<template v-for="item in list" :key="item.id"> ... </template>
<!-- ✗ BAD -->
<template key="foo"> ... </template>
<template v-bind:key="bar"> ... </template>
<template :key="baz"> ... </template>
</template>
::: tip Note
This rule does not report keys placed on <template v-for>
. It's valid for Vue.js 3.x. If you want to report keys placed on <template v-for>
invalid for Vue.js 2.x, use vue/no-v-for-template-key rule.
:::
Nothing.
This rule was introduced in eslint-plugin-vue v3.4.0