# vue/no-this-in-before-route-enter
disallow
this
usage in abeforeRouteEnter
method
# 📖 Rule Details
Because lack of this
in the beforeRouteEnter
(docs) (opens new window). This behavior isn't obvious, so it's pretty easy to make a TypeError
. Especially during some refactor.
<script>
export default {
beforeRouteEnter() {
/* ✗ BAD */
this.method(); // Uncaught TypeError: Cannot read property 'method' of undefined
this.attribute = 42;
if (this.value === 42) {
}
this.attribute = this.method();
}
}
</script>
<script>
export default {
beforeRouteEnter() {
/* ✓ GOOD */
// anything without this
}
}
</script>
# 🔧 Options
Nothing.
# 🔇 When Not To Use It
When vue-router (opens new window) is not installed.
# 📚 Further Reading
vue-router - in-component-guards (opens new window)
# 🚀 Version
This rule was introduced in eslint-plugin-vue v7.11.0