вот ещё пример их старого сандбокса
https://v2.vuetifyjs.com/en/examples/layouts/sandbox/По факту ты просто используешь кастомные теги, а при компиляции оно само генерирует тебе ХТМЛ
Ну и это позволяет использовать кастомные директивы, например
<template>
<v-card v-for="item in items" :key="item">
{{
item.name }}
</v-card>
</template>
<v-btn
@click="fetchAPI">Refresh</v-btn>
То есть при нажатии кнопки, будет вызван метод fetchAPI, который перезаписывает массив items, тем самым контент на странице автоматом обновляеться без обновления страници