Как я могу вручную (программно) сравнить два маршрута и выяснить, совпадают ли они?(если присутствует router-link-active
или router-link-exact-active
)
Обычно мне нужна функция такого типа
/*
@params route1, route2 : Route
*/
function isActivated(route1, route2) {
/* comparing them somehow */
return {
exactActive,
active
};
}
Вариант использования: У меня есть NestedLink.vue
компонент, который является оберткой над router-link
.Он принимает to
prop точно так же, как router-link
(и передает его дочернему маршрутизатору).Если текущий маршрут активен, рядом появляются вложенные ссылки.
Мой подход :
function isActivated(route1, route2) {
if (
route1.matched.some(record =>
record.regex.test(route2.fullPath)
)
) {
return { exactActive: true };
}
return { exactActive: false };
}
Может указывать, когда маршруты exact-active
, но не для not-exact-active
.