mounted
- это хук жизненного цикла любого компонента Vue, он всегда будет срабатывать.Идея beforeRouteEnter
или любого другого хука жизненного цикла, добавленного vue-router
, состоит в том, чтобы позволить вам контролировать ваше приложение.
Например, предположим, что у вас есть маршрут с именем bar
, который имеет действительно специфическую логику проверки, которая позволяет пользователю вводить в нее только если предыдущий маршрут был foo
, вы можете вставить эту проверкулогика внутри этого хука вместо того, чтобы проверять каждое изменение маршрута в глобальной защите.
export default {
name: 'Bar',
beforeRouteEnter(to, from, next) {
if (from.name === 'foo') {
next(); // Calling next allow the route to proceed
} else {
next(false); // Don't allow the navigation
// or
next({
name: 'foo',
query: {
from: 'bar'
}
}); // Redirect to any desired route as navigation made in $router
}
}
}