[SOLVED] Vue 4.4 Как закрыть текущий popup физической кнопкой?

Добрый день, подскажите, хочу на физическую кнопку навесить не только откат по страницам, но и закрытие popup. То есть, если есть открытый popup закрыть именно его, а то получается, что под popup откатывается страница и после закрытия popup оказываешься на другой странице. Или нужно сам popup включить в router history?

Ничего не понял, в чем именно вопрос. Что за “откат по страницам”?

есть
document.addEventListener(‘backbutton’, function () {
my.$f7.view.main.router.back();
});
сюда хочу добавить и закрытие текущего popup, если таковой открыт.

Попробуй

if(my.$f7.popup.get()) {
   my.$f7.popup.close();
}

у меня их много таких, popup, это я в первую очередь попробовал, но! я каждый озаглавил, ибо разный html, половина через vue загружается, поэтому вопрос такой, можно ли приделать popup routers, как к тем же табам, или есть общий массив popup, я такого не увидел, каждый popup отдельно от всех

Закрывать popup через router - плохая практика, это может привести к багам: https://github.com/framework7io/framework7/issues/2978

Лучше просто app.popup.close() - так для Core. Ну и в доке все расжевано: какие методы и для чего: https://framework7.io/docs/popup.html

умные все, как и я, да простит мне этика, вы не забыли что popup всегда разный и закрыть его простым my.$f7.popup.close(); ничего не закрыть? у меня в приложении семь разных popup, которые вызываются по разному и называются по разному, поэтому и прошу помощи, у создателя, есть ли массив вызванных popup, если нет то может роутер привязать к popup? все остальное я и без вас прочитал, не стал бы по такой фигне писать

У меня их тоже 4, и они разные, выше указанный метод, который я описал всегда срабатывает. Можешь примеры привести, как они могут быть разными, может быть мы не сталкивались с этим?

Да, именно то, что нужно, извините если чуток написал резко, if(my.$f7.popup.get()) метод работает, тему закрываем, это я так понимаю насчет любых вещей работает, открытых в этот момент. Спасибо большое всем за внимание, очень большое спасибо Алмазу за наводку ))))

На всякий случай :slight_smile:
Popup как и любой другой modal, можно прицепить к роутеру https://framework7.io/docs/routes.html#routable-modals

path: '/some-popup/',
popup: {
  component: SomePopupVueComponent,
},

Тогда закрытие попапа будет также работать через router.back()