Pattern: Use of shared component data
Issue: -
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>