Переиспользование внешнего вида компонентов vue js

Всем привет. Сейчас разрабатываю vue приложение и уже не раз сталкивался с проблемой, когда компоненты имеют большое визуальное сходство, но есть мелкие отличия. Например есть карточка используемая в разных местах. Причем у нее одна и та же логика, но внешний вид немного отличается (Ширина карточки, различие в паре элементов) и приходится под каждый такой элемент делать новый компонент с той же логикой. Знаю про composables, тут больше вопрос про внешний вид. Собственно вопрос. Есть ли какой-то подход который позволяет обыграть эту ситуацию, что бы не приходилось по несколько раз верстать компонент.

Думал просто прописывать условия-флаги в пропсы. Но это выглядит как-то кривовато. Хотелось бы решение почище.

P.S. использую vue cli


Ответы (0 шт):