Как использовать вкладки Vuetify с Vue-маршрутизатором
у меня есть следующие jsfiddle имеет две вкладки Vuetify. В документации не показаны примеры использования vue-router С ними.
я нашел это Medium.com пост о том, как использовать Vuetify с vue-router, который имеет следующий код:
<div id="app">
<v-tabs grow light>
<v-tabs-bar>
<v-tabs-item href="/" router>
<v-icon>motorcycle</v-icon>
</v-tabs-item>
<v-tabs-item href="/dog" router>
<v-icon>pets</v-icon>
</v-tabs-item>
</v-tabs-bar>
</v-tabs>
<router-view />
</div>
однако код теперь устарел как Vuetify 1.0.13 вкладки документация не указан router prop в их api, поэтому встроенный пример в сообщении не работает.
я нашел это StackOverflow ответ, который имел следующий код:
<v-tabs-item :to="{path:'/path/to/somewhere'}">
однако, используя to prop не работает, и он также не указан в api Vuetify. В отличие от v-button компонент Vuetify перечисляет to prop и использует vue-router, поэтому я ожидал бы vue-router поддерживаемый компонент для поддержки to проп.
копаться в старом старый Vuetify 0.17 docs, the to prop указывается для v-tabs-item. Кажется, что поддержка могла быть удалена в 1.0.13.
как я могу использовать vue-router с вкладками Vuetify?
1 ответов
обновление
Боженьки! Я попросил сообщество Vuetify добавить документацию в свой api, и похоже, что они просто добавили to prop, а также другие vue-router реквизит Vuetify tabs docs. Серьезно, сообщество там потрясающее.
Оригинальный Ответ
люди в сообществе Vuetify Discord смогли мне помочь. Мой обновленный jsfiddle теперь рабочая код.
по сути, v-tab - это оболочка для router-link, где я предполагаю, что он использует слоты для передачи реквизита router-link, так что ставить to проп на v-tab работает нормально.
следующий код является примером рабочего кода:
HTML-код
<v-app dark>
<v-tabs fixed-tabs>
<v-tab to="/foo">Foo</v-tab>
<v-tab to="/bar">Bar</v-tab>
</v-tabs>
<router-view></router-view>
</v-app>
js
const Foo = {
template: '<div>Foo component!</div>'
};
const Bar = {
template: '<div>Bar component!</div>'
};
const routes = [
{ path: '/foo', component: Foo },
{ path: '/bar', component: Bar },
];
const router = new VueRouter({ routes });
new Vue({
el: '#app',
router,
});

