Read-only property of Vue should not be assigned

  • VUE_ASSIGN_TO_READONLY_PROPERTY
  • Error
  • Medium
  • vue

This rule applies when a value is assigned to the read-only properties of Vue.

The read-only properties of Vue are as follows:

  1. $data
  2. $props
  3. $el
  4. $options
  5. $parent
  6. $root
  7. $slots
  8. $refs
  9. $attrs
  10. app.config

Assignment to the above properties will be ignored or may cause an unintended behavior. Also, Vue outputs a warning message.

Noncompliant Code Example

View with compliant examples side by side
<script>
export default {
  data() {
    return { msg: '' };
  },
  mounted() {
    this.$data = { msg: 'hi' }; // VUE_ASSIGN_TO_READONLY_PROPERTY alarm because 'this.$data' is read-only.
  }
}
</script>

Compliant Code Example

View with noncompliant examples side by side
<script>
export default {
  data() {
    return { msg: '' };
  },
  mounted() {
    this.msg = 'hi'; // Use nested data properties instead.
  }
}
</script>

Version

This rule was introduced in DeepScan 1.16.0-beta.

See

Was this documentation helpful?