#javascript #vue.js #vuetify.js
#javascript #vue.js #vuetify.js
Вопрос:
Я использую панель инструментов Vuetify: у меня есть три v-tab (справа) и заголовок (слева), которые соответствуют домашней странице веб-сайта. Состояния v-tabs работают, когда я нажимаю на их компонент, но если я нажимаю на заголовок, чтобы вернуться домой, последний активный элемент v-tabs остается активным. На картинке ниже я на самом деле дома. введите описание изображения здесь
Я пытался добавить необязательное свойство, но оно не работает
Текущий код:
<script>
import Searchbar from "./Searchbar.vue";
export default {
name: "NavBar",
components: { Searchbar },
data() {
return {
appTitle: "ShowCase",
drawer: false // Falso perchè è chiuso, quando si apre diventa vero
};
}
};
</script>
<style>
</style>
<template>
<v-toolbar height="70" color="#252525" dark>
<v-toolbar-title
class="teal--text text--accent-3"
style="cursor: pointer"
@click="$router.push('/')"
title="hover text">
GameShelf
</v-toolbar-title>
<v-spacer></v-spacer>
<Searchbar/>
<v-spacer></v-spacer>
<v-toolbar-items class="hidden-sm-and-down">
<v-tabs optional v-model="tab" fixed-tabs height="70" color="#252525" hover>
<v-tab optional @click="$router.push('/Tuttiigiochi')"> All Games </v-tab>
<v-tab @click="$router.push('/Sceltidallaredazione')"> RetroGaming </v-tab>
<v-tab @click="$router.push('/Aboutus')"> About us</v-tab>
</v-tabs>
</v-toolbar-items>
</v-toolbar>
</template>
Как я могу сделать элементы v-tabs неактивными, когда я вернусь домой?
Комментарии:
1. ваш фрагмент не работает
2. codesandbox.io/s/30082020-mt8ij?file=/src/components/NavBar.vue попробуйте эту ссылку codesandbox
3. @MariannaPascucci Я думаю, было бы лучше создать небольшой, но полностью воспроизводимый пример. Нет необходимости загружать весь проект целиком.
Ответ №1:
вы могли бы использовать функцию для перенаправления пользователя и ручного сброса вкладки в элементе заголовка вашей панели инструментов:
@click="redirect"
В ваших методах:
redirect() {
this.tab = null
this.$router.push('/')"
}
Вы также можете просмотреть маршрут и установить tab равным null, когда маршрут равен ‘/’ ;
watch:{
'$route' (to, from){
if( to === '/') this.tab = null
}
},