Как деактивировать все элементы в компоненте botnav Vuetify?

У меня есть ботнав Vuetify; каждый элемент активируется по определенному пути маршрутизатора, я хочу деактивировать элемент, когда он находится по другому пути.

Я пытался установить active.sync на -1, когда я хочу деактивировать вкладку, это сработает, если я никогда не активирую какой-либо элемент в ботнаве, но если я активирую элемент, а затем снова установлю active.sync=-1, он автоматически активируется. первый пункт:

 <v-bottom-nav
  :active.sync = "bottomNav"
  :value = "true"
  shift
  absolute
>
  <v-btn
    color = "teal"
    flat
    value = "recent"
  >
    <span>Recent</span>
    <v-icon>history</v-icon>
  </v-btn>

  <v-btn
    color = "teal"
    flat
    value = "favorites"
  >
    <span>Favorites</span>
    <v-icon>favorite</v-icon>
  </v-btn>

  <v-btn
    color = "teal"
    flat
    value = "nearby"
  >
    <span>Nearby</span>
    <v-icon>place</v-icon>
  </v-btn>
</v-bottom-nav>

В сценарии:

 watch:{
 $route:function(to, from){
 switch(to.path){
  case "/0": 
    this.bottomNav=0;
  break
  case "/1": 
    this.bottomNav=1;
  break
  case "/2": 
    this.bottomNav=2;
  break
  default: this.bottomNav=-1
  }
}
}

Я нашел решение, которое работает, установив фиктивный скрытый элемент в ботнаве и установив для v-show этого элемента значение false, когда я хочу деактивировать все элементы, я активирую этот невидимый элемент, и это приводит к тому, что я хочу :

Фиктивный предмет:

<v-bottom-nav
 :active.sync = "bottomNav"
 //more stuff
 >
//other items
<v-btn v-show = "0" value = "inactivate"></v-btn>
</v-bottom-nav>

И делайте это всякий раз, когда я хочу деактивировать все элементы в сценарии:

this.bottomNav = "inactivate"

Это РАБОТАЕТ, но это как-то хакерски, есть ли более формальный/элегантный способ сделать это?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
168
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Значение по умолчанию для active.sync не определено, поэтому попробуйте использовать void для сброса:

this.bottomNav = void(0)

[https://jsfiddle.net/e8a67qtp/]

Другие вопросы по теме