# vue/no-this-in-before-route-enter

disallow this usage in a beforeRouteEnter 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>
Now loading...
<script> export default { beforeRouteEnter() { /* ✓ GOOD */ // anything without this } } </script>
Now loading...

# 🔧 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

# 🔍 Implementation