# vue/no-reserved-keys
disallow overwriting reserved keys
- ⚙️ This rule is included in all of
"plugin:vue/vue3-essential"
,"plugin:vue/essential"
,"plugin:vue/vue3-strongly-recommended"
,"plugin:vue/strongly-recommended"
,"plugin:vue/vue3-recommended"
and"plugin:vue/recommended"
.
# 📖 Rule Details
This rule prevents to use reserved names (opens new window) to avoid conflicts and unexpected behavior.
<script>
/* ✗ BAD */
export default {
props: {
$el: String
},
computed: {
$on: {
get () {}
}
},
data: {
_foo: null
},
methods: {
$nextTick () {}
}
}
</script>
# 🔧 Options
{
"vue/no-reserved-keys": ["error", {
"reserved": [],
"groups": []
}]
}
reserved
(string[]
) ... Array of additional restricted attributes insidegroups
. Default is empty.groups
(string[]
) ... Array of additional group names to search for duplicates in. Default is empty.
# "reserved": ["foo", "foo2"], "groups": ["firebase"]
<script>
/* ✗ BAD */
export default {
computed: {
foo () {}
},
firebase: {
foo2 () {}
}
}
</script>
# 📚 Further Reading
# 🚀 Version
This rule was introduced in eslint-plugin-vue v3.9.0