# vue/no-deprecated-data-object-declaration
disallow using deprecated object declaration on data (in Vue.js 3.0.0+)
- ⚙️ This rule is included in all of
"plugin:vue/vue3-essential"
,"plugin:vue/vue3-strongly-recommended"
and"plugin:vue/vue3-recommended"
. - 🔧 The
--fix
option on the command line (opens new window) can automatically fix some of the problems reported by this rule.
# 📖 Rule Details
This rule reports use of deprecated object declaration on data
property (in Vue.js 3.0.0+).
The different from vue/no-shared-component-data
is the root instance being also disallowed.
See Migration Guide - Data Option (opens new window) for more details.
createApp({
/* ✗ BAD */
data: {
foo: null
}
}).mount('#app')
createApp({
/* ✓ GOOD */
data () {
return {
foo: null
}
}
}).mount('#app')
<script>
export default {
/* ✗ BAD */
data: {
foo: null
}
}
</script>
<script>
export default {
/* ✓ GOOD */
data () {
return {
foo: null
}
}
}
</script>
# 🔧 Options
Nothing.
# 📚 Further Reading
- Migration Guide - Data Option (opens new window)
- Vue RFCs - 0019-remove-data-object-declaration (opens new window)
# 🚀 Version
This rule was introduced in eslint-plugin-vue v7.0.0