Skip to content

vue/no-deprecated-slot-attribute

disallow deprecated slot attribute (in Vue.js 2.6.0+)

  • ⚙️ This rule is included in all of "plugin:vue/essential", *.configs["flat/essential"], "plugin:vue/strongly-recommended", *.configs["flat/strongly-recommended"], "plugin:vue/recommended" and *.configs["flat/recommended"].
  • 🔧 The --fix option on the command line can automatically fix some of the problems reported by this rule.

📖 Rule Details

This rule reports deprecated slot attribute in Vue.js v2.6.0+.

<template> <ListComponent> <!-- ✓ GOOD --> <template v-slot:name> {{ props.title }} </template> </ListComponent> <ListComponent> <!-- ✗ BAD --> <template slot="name"> {{ props.title }} </template> </ListComponent> </template>
Now loading...

🔧 Options

json
{
  "vue/no-deprecated-slot-attribute": ["error", {
    "ignore": ["my-component"]
  }]
}
  • "ignore" (string[]) An array of tags that ignore this rules. This option will check both kebab-case and PascalCase versions of the given tag names. Default is empty.

"ignore": ["my-component"]

<template> <ListComponent> <!-- ✓ GOOD --> <template v-slot:name> {{ props.title }} </template> </ListComponent> <ListComponent> <!-- ✓ GOOD --> <my-component slot="name"> {{ props.title }} </my-component> </ListComponent> <ListComponent> <!-- ✗ BAD --> <other-component slot="name"> {{ props.title }} </other-component> </ListComponent> </template>
Now loading...

📚 Further Reading

🚀 Version

This rule was introduced in eslint-plugin-vue v6.1.0

🔍 Implementation