zakharkang: нужно анализировать вашу специфику. Тут вроде просто: у вас есть набор полей фильтров - это есть ваш компонент, передаете пропсами внутрь необходимые данные или он сам берет данные из стейта vuex, происходит заполнение полей, при каждом изменении полей можете отправлять событие наружу с объектом, содержащим текущие опции, попутно сохранив их в localstorage например.
zakharkang: ага, ну т.е. у вас на странице, где кнопка с запросом json файла, должны быть какие-то фильтры, которые вам сформируют параметры запроса.
Тогда, если вы их хотите сохранять, и они используются различными компонентами vue, то имеет смысл сохранять в стейт vuex.
Если их нужно сохранять при обновлении страницы, то стоит сам стейт vuex сохранять в localStorage.
Или, если vuex не используется, то при каждом изменении параметров сохранять их в localStorage.
zakharkang: мм... я что-то перестал понимать задачу) Что вы называете параметрами? Это параметры url по которому приходит json? Что содержится в json. Нужно построрить модальное окно(его интерфейс) на основе пришедших данных?
Ну если вы модульности какой-то хотите, то имеет смысл сделать отдельную либу, которая имеет набор функций для взаимодействия с бэкендом. Вызываете нужную функцию, передаете туда параметры, далее ваша либа отправляет запрос, получает результат.
Можно vuex добавить в качестве прослойки, тогда взаимодействие будет идти так:
клик по кнопке -> вызов экшена vuex -> вызов функции либы, взаимодействующей с бэкендом -> вызов соответствующей мутации, изменяющей стейт vuex пришедшими данными
Vikky Shostak: vuex - это библиотека управления состоянием приложения. Она позволяет хранить в одном месте все что может понадобиться вашим компонентам в процессе работы, она обладает реактивностью. Она упрощает/стандартизирует взаимодействие между компонентами/сервисами и т.п. когда их много.
Я же немного про другое:
Представьте, что у вас есть роут, например example.com/newform, открываем его, на нем форма с множеством состояний, заполняем форму, на каком-то шаге перезагружаем страницу - все сбросилось, состояние не сохранено. Если вы хотите этого избежать, нужно где-то сохранять данное состояние, чтобы при перезагрузке страницы можно было сразу попасть на нужный шаг и не потерять все данные. Если это не критично, то можно забить. Vuex тут не спасет, он хранит данные в js и все сбросится при перезагрузке.
Не доводилось, но выглядит интересно. Если много подобных форм, то имеет смысл попробовать имхо. Но состояние не сохраняется вроде, нужно допилить будет.
Когда вебпак видит @ в пути импорта он ее заменяет на путь из алиаса, просто замените собаку на что-то другое в алиасе, чтобы вебпак не делал эту замену, и тогда модули, которые начинаются с @ будут нормально импортироваться.
jeruthadam: а с чего вы взяли что destroy метод в принципе существует? И чего вы хотите добиться в принципе? Вы можете поставить анимацию на паузу или сделать рестарт или то и другое одновременно.
Николай Семенов: В таких случаях я бы открыл dev tools и посмотрел как меняются значения у компонента, что сидит в data.value.
Присвоение класса вроде должно работать, если все остальное верное.