чтобы при вызове ее происходил выход ?
Ни на какой, logout обычно делается по действию пользователя, нажатию на кнопку, либо как-то иначе программно, но не по хуку жизненного цикла компонента
ну вот у меня меню приложения, там кнопка logout, я по кнопке делаю /logout в роутере, и по маршруту у меня компонент открывается... ну и я думал в mounted запихать логаут.... коряво?
А что находится на этом компоненте? Зачем отдельная страница для logout-а?
ну написано будет красивым шрифтом, типа вы вышли.... а как можно помимо компоненты сделать?
Ну если надо отдельную страницу с таким текстом, конечно, можно. Тогда можно в created сделать logout и запустить таймер, чтобы через условно 5сек перейти на главную или логин. Но проще просто ссылку в меню сделать кнопкой, и по ней переходить делать выход, переходить на главную/логин, показывая тост/уведомление об успкешном выходе
а если я так сделал, меню -> маршрут /logout -> компонента -> mounted(){ logout(); } сильно убого, или приемлимо? мне для понимания - как принято, а как не очень
Никакого принятого варианта нет, по-разному делают. Делать компонент, который ничего не делает, не показывает, а только уничтожается сразу - мне кажется не очень красивым)
Спасибо за разьяснения, тогда вопрос еще один: а тогда при "бескомпонентном" подходе, куда запихать вызов logout();, если у меня меню: <li v-for="item in menuItems"> <router-link :to="item.link"> а пункты я беру из массива: { title: 'Logout', icon: 'mdi-nop', link: '/logout' }, как можно вместо линка закинуть выполнение функции?
В вашем варианте, где всё ссылки без доп логики - никак. Но можно сделать роут без компонента
а как делается? где поизучать?
Я написал выше
Обсуждают сегодня