Skip to content

vue/no-deprecated-props-default-this

disallow deprecated this access in props default function (in Vue.js 3.0.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"].

📖 Rule Details

This rule reports the use of this within the props default value factory functions. In Vue.js 3.0.0+, props default value factory functions no longer have access to this.

See Migration Guide - Props Default Function this Access for more details.

<script> export default { props: { a: String, b: { default() { /* ✗ BAD */ return this.a } } } } </script>
Now loading...
<script> export default { props: { a: String, b: { default(props) { /* ✓ GOOD */ return props.a } } } } </script>
Now loading...

🔧 Options

Nothing.

📚 Further Reading

🚀 Version

This rule was introduced in eslint-plugin-vue v7.0.0

🔍 Implementation