На моей главной странице у меня есть раскрывающиеся списки, которые отображаются v-show=show
при нажатии на ссылку, @click = "show=!show"
и я хочу установить, show=false
когда я меняю маршрут. Посоветуйте, пожалуйста, как реализовать эту вещь.
vue.js
vuejs2
vue-router
kipris
источник
источник
$route: function(to, from) {
если вы хотите поддерживать старые браузеры и не используете babel.Если вы используете v2.2.0, то есть еще один вариант для обнаружения изменений в $ routes.
Чтобы отреагировать на изменение параметров в том же компоненте, вы можете просто посмотреть объект $ route:
Или используйте защиту beforeRouteUpdate, представленную в 2.2:
Ссылка: https://router.vuejs.org/en/essentials/dynamic-matching.html
источник
beforeRouteUpdate
работает только с представлением, которое объявляет метод, а не с каким-либо дочерним компонентомНа всякий случай, если кто-то ищет, как это сделать в машинописном тексте, вот решение.
И да, как указано ниже @Coops, пожалуйста, не забудьте включить
Изменить: Алкалин очень хорошо использовал тип маршрута вместо использования каких-либо
источник
import { Prop, Watch } from "vue-property-decorator";
any
типа вы можете использовать интерфейсRoute
отimport { Route } from 'vue-router';
Вышеупомянутые ответы лучше, но для полноты картины, когда вы находитесь в компоненте, вы можете получить доступ к объекту истории внутри VueRouter с помощью: this. $ Router.history. Это означает, что мы можем отслеживать изменения с помощью:
this.$router.listen((newLocation) =>{console.log(newLocation);})
Я думаю, что это в основном полезно при использовании вместе с this. $ Router.currentRoute.path Вы можете проверить, о чем я говорю, о размещении
debugger
инструкции в вашем коде и начните играть с Chrome DevTools Console.
источник
Наблюдатель с глубокой опцией у меня не работал.
Вместо этого я использую обработчик жизненного цикла updated (), который запускается каждый раз при изменении данных компонента. Просто используйте его так же, как и с монтируемым () .
Для справки посетите документацию .
источник
Другое решение для пользователя машинописного текста:
источник