Skip to content

useVueValidVFor

biome.json
{
"linter": {
"rules": {
"nursery": {
"useVueValidVFor": "error"
}
}
}
}

Enforces valid v-for directives in Vue templates.

This rule reports v-for directives in the following cases:

  • The directive has an argument. E.g. <div v-for:aaa="item in items"></div>
  • The directive has a modifier. E.g. <div v-for.bbb="item in items"></div>
  • The directive does not have a value. E.g. <div v-for></div>
  • The second or third aliases are empty or are not simple identifiers.
  • A custom component rendered with v-for is missing v-bind:key.
  • The v-bind:key expression does not use any variable introduced by the v-for directive.
<div v-for:aaa="item in items"></div>
<div v-for="(item, { key }) in items"></div>
<MyItem v-for="item in items"></MyItem>
<div v-for="item in items" :key="foo"></div>
<div v-for="item in items"></div>
<MyItem v-for="item in items" :key="item.id" />
<template v-for="item in items">
<div :key="item.id"></div>
</template>

Related rules: