на бэке
Я типа делаю приложение сайт погоды. Переписать его на Vue. Раз в 10 минут будет делаться запрос по api.openweather. Где это делается во Vue?
Всё, я понял. Потом из этого файла импортировать полученные данные в свои компоненты?
нет, данные ты импортировать не сможешь, импортируй функции для вызова апи
Создаёшь какой нибудь интерфейс для работы с api сайта, в компоненте родителя, где будет весь стейт в beforeMount создаёшь setInterval и присываеваешь его к какой нибудь переменной из состояния, в коллбеке делаешь запрос на сервер, а полученные данные используешь как нужно, а потом просто в beforeDestroy(вроде так хук называется) очищаешь интервал и всё
Общую картину представил. Буду пробовать. Спасибо за совет
Лучше делать их там, где есть потребность их делать
Вы всегда так загадочно изъясняете? :)
Согласитесь, что глупо их делать из мест, в которых нет потребности)
Это да. Я просто относительно недавно стал изучать данный фрэймворк и только постигаю его основы. Всегда хочется сделать по правильно с первого раза
У тебя есть слой компонентов абстракции и бизнес-логики и есть слой вьюшек, вот делать это нужно в слое абстракций и бизнес-логики. Скажем у тебя есть компонент Weather.vue, который является вьюшкой роутера, он должен отвечать за хранение бизнес-логики и работы с соединениями, а все дочерние компоненты просто отображать данные, которые приходят к ним от него через пропы
Я примерно так и думал, что где-то надо хранить в одном месте запрос к api, обрабатывать и потом передавать данные в свои компоненты для отрисовки
Такие компоненты принято контейнерами называть, если интересно вот статья - https://markus.oberlehner.net/blog/advanced-vue-component-composition-with-container-components/
Что-то подобное я встречал в React-e
Все верно и мой ответ тоже верен. Например рекламные блоки могут рассматриваться как api и запрашиваются с клиента. Сервисы авторизации openid, auth2 работают в комплексе с клиента и с сервиса. Сервисы банка могут использовать только с сервера, т.к. вы вряд ли захотите каждому выдавать свои данные к доступу в закрытый слой
Это уже можно рассматривать как отдельную тему "безопасности и построения архитектуры приложения"
По факту можешь писать так же как на реакте но не заботится о момоизации, тут для этого есть computed, а методы инициализируются 1 раз(если ты писал на хуках)
Не, я не писал на хуках. Я в целом изучал его для выбора. Решил остановиться на Vue. :)
Обсуждают сегодня