с сервера, куда он их кладёт обычно?
Чтобы его дочерние компоненты имели всегда к ним доступ из любого места.
КАК?
Мои предположения:
1) Vuex же не пойдёт для такой цели, т.к. данные неизменяемые, постоянные.
2) Я бы запихал в статичный класс и подключил этот класс везде, но тоже нельзя, т.к. экземпляров может быть несколько.
3) Хранить данные в data у родительскоко компонента, при этом из каждого дочернего компонента подниматься рекурсивно наверх в поисках корневого, чтобы получить эти данные, ну извращение.
4) Проталкивать эти данные в props в каждый из сотен компонентов вручную по иерархии, тупо загадив весь код
5) Класть в data у $root вроде привлекательно, но не пойдёт, т.к. речь об отдельном компоненте, а не о приложении целиком.
Мб попробывать inject/provide
vuex же или любой другой стор
» 1) Vuex же не пойдёт для такой цели, т.к. данные неизменяемые, постоянные.
и почему тут стор не подходит?
ну он же для мутаций/действий/реактивности. А у меня данные - просто типа словаря большого, он неизменяемый
нигде не сказано что стор ТОЛЬКО для чего-то изменяемого. у меня в одном проекте он вообще настройки ui хранит которые с бэка приходят и никогда не меняются
это точно нормально? просто тут даже в чате часто ругают за такое
хз кто ругает за такое в чате. имхо это нормально
Это не логично, но так делают, потому что проще, не надо ничего нового придумывать, а просто использовать, что есть
Почему не логично то? Хранилище оно и в Африке хранилище.
Потому что нет никаких причин использовать Flux архитектуру с управлением через диспетчер для раскидывания констант
В исходной задаче компонент получил данные после инициализации отдельным запросом. Данные по настройкам уже динамичные и от них скорее всего зависит отображение компонента
provide inject идеально подходит
Да, спасибо, @Maveldous выше тоже про это написал. Не знал про provide/inject, сейчас читаю, классная штука, как раз что нужно 👍
Обсуждают сегодня