3 кнопкам, и если открыто например один какой то алерт, и я хочу открыть еще 1 алерт какой то, то чтоб закрывался всегда другой алерт, и открывался тот новый, как мне такое реализовать?
Рефы
Обращаешься к рефу и вызываешь у него например метод open
Компонент алерта должен просто делать то зачем его придумывали. Создай врапер для алертов, который будет получать их массив и содержать общее состояние. По статусу будешь определать, есть ли активный алерт и если он есть, закрываешь его и открываешь новый
Проще вынести логику открытия и закрытия в отдельный класс, в самом компоненте повесить слушатели и замаунтить компонент изначально в дом на одном уровне с основным приложением. И просто импортить класс, который отвечает за открытие и закрытие в нужные части приложения
https://github.com/codememory1/front-music-service/blob/master/resources/assets/js/components/Headers/TheHomeHeaderComponent.vue
$refs.registerModal.close(); реф самого компонента TheHomeHeader?
registerModal указан вверху на 15 строке
У самого компонента есть методы open и close
Ты не так понял) , у хочу по другому сделать, есть например я жму кнопку контакты , открываеться такое меню ( оно будет отдельный компонент), и снизу есть еще кнопка корзина, и я открываю тот же компонент с меню, только с другим контентом, и мне надо закрыть то меню сперва то что вызвал с кнопки контакты , и потом уже открыть с кнопки корзина
А, ты хочешь иметь один блок, но менять ток в нем контент ?
Да, но я не хочу чтоб он открыл сперва контакты, а когда откроет потом корзину, то будет на екране ему менюшка и контакт , и корзины, так как оно не очень красиво будет смотриться все рядом
Ну тогда сделай базовую модельку и создай Слот content в нем, в качестве слота передаёшь компонент контента модалки, но к слотам ты должен добавить условия, по которому нужно отобразить тот или иной контент модалки
Я знаю , но вопрос в другом, мне надо старое менб закрыть, но я хз как так как в другом компоненте будет открываться всегда
Обсуждают сегодня