Чтобы при смене активной кнопки, линия перемещалась(ездила) до активной кнопки. Но не понимаю как такое сделать, работать с dom напрямую плохая практика, а как средствами vue сделать не могу даже предположить как
Александр Маджугин, В mounted нашел бы все табы querySelectorAll, и повесил бы на них событие клика. После брал информацию о том табе, на который кликнули, нашел бы через ref линию и указал бы ему нужные стили.
Спасибо! Я вроде понял как. На каждый tab повесить событие клика, и в методе которые обрабатывает клик, смотреть на $event.target, и забирать ширину, и позицию с лева в родителе. После через ref получить line, и указать ей нужные стили.
А вот как удалять активный класс со старого tab идей нет, если ставить то легко, $event.target.classList.add(), а вот удалить активный класс у других tab'ов я не знаю как
wakenby, на самом деле вам не надо добавлять и удалять классы.
Классы вы должны реализовать через v-bind:class и управлять ими в зависимости от состояния панелей табов.
Вы же знаете какой таб у вас сейчас активный? Ну вот и ставьте ему класс.
Как вы храните активный таб? Какая-то переменная в data?