Когда я захожу на главную страницу (home) у меня вызвается функция из пинии, которая отправляет черех axios get запрос и затем моя главная страница наполняется данными с бека.
Так вот, когда функция loadData() отрабатывает данные из бека попадают на сайт.
Но проблема в том что я через моунтид вызываю эту функцию, я перемещаюсь по страничикам и функция loadData вызывается лишние разы! Как правильно такие функции вызывать? Может из бефор моунтид?
Те мегабайты красивых картинок ты еще и несколько раз грузишь?
У меня стандартный роутинг на сайте, когда я перемещаюсь по страницам сайта, моунтид срабатывает каждый раз. Мне нужно загрузку данных вызывать один раз, при 1й загрузке.
сколько у тебя щас времени?
сиеста а чо?
Используй для страницы keep-alive тем самым сохранив стейт страницы и в mounted проверяй, если есть стейт - не вызывай
Хорошо, сейчас прочитаю про это.
получается ты встал в 7-8?
ты думал я спецом для чата в 4 встаю?
я просто рил в 5 встал и после пары часиков сдох уснул
молодой ты просто в 4-5 утра - самая работоспособность на самом деле в 30-40 лет
я тебя обнимаю крепко бро
в 30 обычно спать только иду в 5 утра
Лучше работать в тишине с утра на свежую голову, чем ночью после дня забот
<!-- Inactive components will be cached! --> <KeepAlive> <component :is="myComponent" /> </KeepAlive> Ну а как в myComponent тогда пропсы передать?
ходят слухи что админ не спит никогда, но это не точно
и я тебя аххахаа в 5 утра и температура минимальная за день и никто мозги не ебет
https://stackoverflow.com/questions/65619181/how-to-make-certain-component-keep-alive-with-router-view-in-vue-3 Для страниц, а не отдельных компонентов (хотя для них тоже можешь, будет лучше)
Я говорил про страницы. Страницам не нужны пропсы
у тебя на всех страницах в моунтед 1 и тот же метод ?
Странное у тебя решение. Сами же devtools кажется ругаются на пропсы в router-view
на RouterView можно передавать пропсы
Вот у тебя 7 страниц и на 3 из них ты вызываешь 1 и тот же метод, и они возвращают разные данные ?
Можно, но не желательно. Могу обманывать, никогда так не делал. Читал где-то проблему и уже сам не вспомню
Иногда это довольно удобно, например, для небольших приложений, где есть дочерние маршруты. И проще ребёнку просто кинуть пропс (а компоненты view-шки часто делают с пропсами), чем для этого использовать стор
Возможно, путаешь с передачей параметров через router.push()?
Данные одинаковые. Просто понимаешь у меня есть страница about, я могу на ней после страницы home зайти и данные буду на странице home загружены и попадут в about. Но другая сиутация я могу ссылкой поделиться и сразу about загрузить, поэтому там тоже функция загрузки контента есть.
Вынеси подгрузку этих данных при иницилизации приложения, сохрани в сторе. В остальных местах просто доставай из сторы
Так куда вынести? у меня старницы home about и т.д. я когда на сайт попадаю 1й раз сразу на одну из них.
App.vue / main.ts
реально лучше использовать лайауты
https://pinia.vuejs.org/cookbook/options-api.html
https://vueschool.io/articles/vuejs-tutorials/composing-layouts-with-vue-router/
интересно кто вообще юзает пинью с опшнс апи
хз. Но так можно
создать один общий layout для страниц home, about, и внутри него дергать метод ктр будет обращаться к апи
Ну вроде сработало))
Мне нравиться, 1 синтаксис на всё)
Это не опшнс
А какая разница, PInia никак не связана со стилем описния компонентов
просто обычно же опшнс представляют с vuex а компзшнс с пинией
Это описание стора, а не использование в компоненте)
А почему нельзя представить иначе? Pinia не привязана к Composition, работает и в двойке, и в тройке
а для чего начинать новый проект на старом вью?
А почему нельзя использовать Pinia в не новом проекте?
чтобы это сделать надо же переписывать вью икс так?
Нет. Можно параллельно использовать, можно мигрировать
Меня больше интересует вопрос почему нельзя использовать вью с опшн апи👍
вьюикс и пинию одновременно?
Можно, но мне не нравиться что будет 2 стора, и бандл будет больше
тогда нужно брать специалиста который знает и вью икс и пинию
Это работает, пока не надо стор из одного использовать в другом. Но на время миграции - работающее решение. Мигрировать при этом не сложно
Это библиотеки, которые изучаются за пару часов
Это шутка,я знаю ,просто немного странно когда каждый пытается композишн апи вставить везде,особенно при миграции крупных проектов с 2 версии на 3
а почему я потратил 2 дня 😭
что тут ненормального? переход на новое и лучшее
Обсуждают сегодня