App из дочернего?
this.$root.modals[‘name’] ?
Нижний не срабатывает, так как ref установлен в родительском компоненте
Решил, если кому вдруг интересно this.$parent.$refs.app.classList.remove()
через парент такое себе решение, у твоего компонента он может поменяться
А что лучше юзать?
Не нужно менять классы через DOM, это потеряется при ререндеринге
Понял Подскажите куда копать
Сообщить событием родителю
Опиши подробнее задачу
У меня есть мобильное меню и при клике на открыть и закрыть нужно добавлять и удалять класс active и делать еще некоторые манипуляции с DOM
:class="{active: isActive}" — вешаешь там, где нужен класс active @click="isActive = !isActive" — вешаешь, где надо кликать
Манипуляций с DOM не нужно делать никаких. Их делает Vue. Вы только шаблоном задаёте спецификацию этого DOM в зависимости от состояния, и для изменения DOM - меняете состояние, от которого оно зависит. Дальше зависит от того, как эта кнопка и место, гед должен быть класс, связаны друг с другом. В одном ли компоненте, в соседних ли, в любых, в жёстко связанных и тп.
Спасибо, работает А что, если кликнув в одном компоненте, нужно чтобы добавился класс в другом компоненте?
а как связан один компонент и другой компонент?
Кнопка открытия меню в TopHeader, а само меню в MobileSidebar
через props и emit, а если используешь vuex, то меняешь просто значение переменной
Лучше не стало, появились только названия) Как связаны эти компоненты?
🤣 Просто кнопка в одном компоненте, а сам сайдбар с менюшкой в другой
"одно в одном, другое в другом" - не объяснение... В зависимости от того, как связаны компоненты, могут быть разные решения. Если они жёстко связаны и рядом - можно традиционно параметрами+событиями. Если один всегда поток - можно provide метода изменения делать. Если вообще никак не связаны, то есть: - общий statefull сервис - шина событий - vuex
В принципе я смог объединить, теперь как достучаться до обертки app после body, в компонент App.vue из дочерней
Спасибо, буду копать
почему vuex не используешь?
В общем-то он тут и не нужен совершенно.
ну он из одного потомка в другой кидает и там вложенность не один уровень, как я понял
Я только недавно начал со vue работать, не всё еще понимаю, в ходе изучения
Нужно центральное хранилище с диспетчером и мутациями по flux ради открытия менюшки?
ради этого - нет, но я сомневаюсь, что дальше в ходе разработки store не понадобится
Обсуждают сегодня