Я сделал так, в компоненте sidebar написал этот код:
<router-link to="/tasks" custom v-slot="{ href, navigate, isActive, isExactActive }">
<li>
<a
class="nav-link text-white"
:class="{
'active-exact': isExactActive,
'active': isActive || subIsActive('/tasks')
}"
:href="href"
@click="navigate"
>
Задачи
</a>
</li>
</router-link>
В методах этот:
methods: {
subIsActive(input) {
const paths = Array.isArray(input) ? input : [input]
return paths.some(path => {
return this.$route.path.indexOf(path) === 0 //текущий путь начинается с этой строки
})
}
}