Skip to content

Latest commit

 

History

History
76 lines (58 loc) · 1.7 KB

no-shared-component-data.md

File metadata and controls

76 lines (58 loc) · 1.7 KB
pageClass sidebarDepth title description
rule-details
0
vue/no-shared-component-data
enforce component's data property to be a function

vue/no-shared-component-data

enforce component's data property to be a function

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

When using the data property on a component (i.e. anywhere except on new Vue), the value must be a function that returns an object.

📖 Rule Details

When the value of data is an object, it’s shared across all instances of a component.

<script>
/* ✓ GOOD */
Vue.component('some-comp', {
  data: function () {
    return {
      foo: 'bar'
    }
  }
})

export default {
  data () {
    return {
      foo: 'bar'
    }
  }
}
</script>
<script>
/* ✗ BAD */
Vue.component('some-comp', {
  data: {
    foo: 'bar'
  }
})

export default {
  data: {
    foo: 'bar'
  }
}
</script>

🔧 Options

Nothing.

📚 Further reading

🔍 Implementation