Skip to content

Files

Latest commit

 

History

History
57 lines (44 loc) · 988 Bytes

no-shared-component-data.md

File metadata and controls

57 lines (44 loc) · 988 Bytes

Pattern: Use of shared component data

Issue: -

Description

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. 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>

Further Reading