#vue.js #vue-component #vue-router #show-hide
#vue.js #vue-компонент #vue-маршрутизатор #показать-скрыть
Вопрос:
Я разрабатывал проект Vue, и сегодня кое-что привлекло мое внимание. Я использовал флажки с некоторой настройкой (я использую их как переключатели) на протяжении всего проекта, и благодаря этим элементам я показываю или скрываю некоторые элементы и компоненты. Переключаемые элементы управляют конкретными данными в каждом компоненте. Когда данные соответствуют действительности, некоторые элементы отображаются на странице, а когда false, они скрыты. То, что я заметил сегодня, немного интересно. Вероятно, есть простое решение, но, хотя я некоторое время искал в Интернете, я еще не нашел решения.
Вот в чем дело;
Допустим, я нахожусь на странице «О моем проекте». Я использовал свои тумблеры, и теперь некоторые из моих элементов и некоторые подкомпоненты отображаются в About.vue
. Затем я захожу на свою Services.vue
страницу и показываю и скрываю некоторые элементы и подкомпоненты. Кстати, почти на всех этих страницах есть формы, и я сохраняю эти формы в локальном хранилище. Когда я возвращаюсь на страницу «О себе» со страницы «Мои услуги», я вижу, что элементы, которые я активировал, были восстановлены. Другими словами, каждый компонент приветствует меня своим состоянием по умолчанию, когда он возвращается из другого компонента. Я хочу видеть, что если я иду и устанавливаю некоторые флажки, чтобы показать какой-либо элемент, независимо от того, как долго я перемещаюсь между другими маршрутами, я хочу, чтобы эти элементы оставались видимыми или скрытыми, когда я вернусь. Например, для ввода имени пользователя и пароля для компонента должен быть активирован элемент переключения. После активации элемента переключения пользователь вводит имя пользователя и пароль и нажимает кнопку Сохранить. Затем он продолжает просматривать многие области проекта, и когда он возвращается, он видит, что элемент переключения неактивен, а имя пользователя и пароль не введены. Я не хочу, чтобы так было. Как мне это исправить?
Ответ №1:
вы можете использовать vuex для решения этой проблемы. https://vuex.vuejs.org /
Vuex — это шаблон управления состоянием библиотека для Vue.js приложения. Он служит централизованным хранилищем для всех компонентов приложения, а правила гарантируют, что состояние может быть изменено только предсказуемым образом. Он также интегрируется с официальным расширением devtools от Vue (открывает новое окно) для предоставления дополнительных функций, таких как отладка во времени с нулевой конфигурацией и экспорт / импорт снимков состояния.
Комментарии:
1. храните данные с помощью: vuex.vuejs.org/guide/#the-simplest-store и используйте вычисляемые и геттеры в вашем компонентном виде: vuex.vuejs.org/guide/getters.html#property-style-access
2. Есть ли другой способ добиться этого без использования Vuex? Некоторым моим проектам запрещено использовать какие-либо внешние пакеты npm…
3. @YasinDemirkaya да, вы можете использовать localStorage.setItem(‘ключ’, ‘значение’) и localStorage.GetItem(‘ключ’)
4. И как мне это сделать? Не могли бы вы немного объяснить…