JS.VUE.NO.DEPRECATED.DATA.OBJECT.DECLARATION

Disallow using deprecated object declaration on data (in Vue.js 3.0.0+)

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 (https://v3-migration.vuejs.org/breaking-changes/data-option.html) for more details.

{'vue/no-deprecated-data-object-declaration': ['error']}" language="javascript" filename="example.js

Copy
createApp({
  /* BAD */
  data: {
    foo: null
  }
}).mount('#app')

createApp({
  /* GOOD */
  data () {
    return {
      foo: null
    }
  }
}).mount('#app')

{'vue/no-deprecated-data-object-declaration': ['error']}

Copy
<script>
export default {
  /* BAD */
  data: {
    foo: null
  }
}
</script>

{'vue/no-deprecated-data-object-declaration': ['error']}

Copy
<script>
export default {
  /* GOOD */
  data () {
    return {
      foo: null
    }
  }
}
</script>

Options

Nothing.

Further Reading

  • Migration Guide - Data Option (https://v3-migration.vuejs.org/breaking-changes/data-option.html)
  • Vue RFCs - 0019-remove-data-object-declaration (https://github.com/vuejs/rfcs/blob/master/active-rfcs/0019-remove-data-object-declaration.md)

The content on this page is adapted from the ESLint User Guide. Copyright © OpenJS Foundation and other contributors, www.openjsf.org. All rights reserved. https://eslint.org/docs/rules/