Вам необходимо использовать метод router.getMatchedComponents
маршрутизатора Vue .Однако этот метод требует, чтобы ваш маршрутизатор был полностью инициализирован со всеми маршрутами.Иначе нет пути.Vue-router не предоставляет базовые разобранные регулярные выражения, с которыми вы можете сравнить свои href
.
Кроме того, то, что вы пытаетесь сделать , не является самым идиоматичным способом выполнения действий.в одностраничных приложениях.Хорошей практикой является объявление всех ваших маршрутов заранее в некотором файле JS, с помощью которого вы должны инициализировать свой маршрутизатор.Разумеется, вы захотите защитить определенные маршруты, для которых вам следует использовать средства защиты маршрутов .
Наконец, когда все ваши маршруты объявлены заранее, это означает, что все компоненты объединены в один в одном.большой файл JS.Чтобы избежать этого, оберните ваш компонент в async
обертки, и пакет, такой как Webpack, будет достаточно умен, чтобы разбить пакет на несколько меньших файлов.