Bohdan
я из под ноды и го смотрю.
го само собой, про ноду у меня мало инфы
ℝei
готово
Armen
Не норм
ℝei
ну я не лебедев. сорян.
Armen
Блен чё он такой популярный?
ℝei
Кто?
Armen
Лебедев
ℝei
Да это его стикерпак. инфа сотка
Armen
Надеюсь мы об одном и том же человеке думаем
ℝei
ℝei
ну я про этого
Armen
Да, верно
ℝei
ℝei
и этого
Sergey
Всем доброго дня. Такая проблема: компоненту в data присваивается результат запроса, после чего я передаю это свойство в props дочернего компонента. В итоге при его отрисовке консоль орет об отсутствии некоторых свойств при повторном переходе все нормально. Как быть?
Armen
ор
ℝei
или в дочернем проверку на наличие данных
Sergey
вот запрос в родителе http.get('/offer/show/' + this.offerId, {}) .then(getData) .then((response) => { this.loading = false this.offer = response.data }) вывод дочернего через <router-view :offercur="offer"></router-view> принимаю в дочернем вот так: props: ['offercur'],
Armen
Ну дак ты выводишь данные которых ещё нет
Armen
Надо условие какое-то
Armen
ЧТобы этот компонент не рендерился до прихода данных
Sergey
там же в запросе loading = false пробовал на <router-view :offercur="offer"></router-view> навешивать v-if="!loading"
Sergey
не помогло
ℝei
как это поможет если ты роуту вешаешь. а не компоненту
Armen
там же в запросе loading = false пробовал на <router-view :offercur="offer"></router-view> навешивать v-if="!loading"
Кстати да, и условие у тебя не верное, выключится когда данные загрузятся
ℝei
поменяй чето. имхо в router-view ты пропсы не передашь..
Armen
В компонент роута пропсы можно передавать из query
Armen
Если очень надо
Armen
И запрос на получение данных по идее должен быть прямо в компоненте, который висит на роуте
Armen
asyncData это фишка роутера?
ℝei
как по мне запросы должны быть в роут-компонентах.
ℝei
asyncData это фишка роутера?
ну почти. это фишка SSR
Armen
ну почти. это фишка SSR
Но asyncData работает не только при ssr почему этого нет в роутере?) 🤔
Armen
Ну ssr ведь только при начальной загрузке
Armen
Потом всё как в спа
Armen
Ждёт пока asyncData зарезолвится а потом переходит на роут
ℝei
asyncdata это фетч данных на ноде которая потом отрендерит тебе и отдаст все вместе
Armen
Ненене, это работает и там и там
Armen
https://nuxtjs.org/guide/async-data#__layout
Sergey
просто запрос я делаю в родителе а в дочерних хотелось бы выводить части общей инфы
ℝei
вот и начал бы с того что это нукст
Armen
Но они врядли модифицировали это
Armen
ℝei
все так. потому что при переходе на роут ищется опция асинкдата и если там чето есть то выполняется
ℝei
но это делается на ноде (90% уверен)
Armen
Нет
Armen
Это делается там, где запускается
ℝei
https://github.com/xrei/vue-ssr/blob/master/template/src/entry-server.js
ℝei
почитай реализацию
Armen
Видимо нухтовцы всё-же чё-то переделали, ибо поведение одинаковое на сервере и клиенте
ℝei
у тебя вообщет нода на каждый роут отдает
ℝei
а не один раз в самом начале
Armen
Не зря, видимо, выбрал нухт
ℝei
Да не нужен он)
ℝei
Лишний слой
Armen
Но реально вполне логичнее было бы прицепить asyncData к роутеру
Armen
просто запрос я делаю в родителе а в дочерних хотелось бы выводить части общей инфы
Зачем писать логику детей в родителях? каждый роут должен сам знать что и откуда брать
Armen
Да не нужен он)
Да вполне неплохо, меньше долбёжки
Nikita
Если заходят первый раз, то отдает нода. Дальше работает клиент. Клиент перед каждым переходом собирает все asyncData и резолвит их.
ℝei
Но реально вполне логичнее было бы прицепить asyncData к роутеру
он вообще то и прицеплен к роутеру. я те кинул реализацию. в нукте такая же, можешь найти, мне влом искать
Nikita
Но судя по доке ssr.vue то там по дефолту надо ручками это реализовывать
Эта дока не дает готового решения, это просто пособие как сделать самому.
ℝei
готовое решение я сделал 😆 минимальное со всем чем нужным что мне надо от ssr, а вся лишняя херня нукста мне ненужна)
Armen
Хмм, т.е. всё-таки у них есть встроенная реализация, но в доках описаны просто несколько методов использования asyncData
Armen
https://ssr.vuejs.org/ru/data.html# раздел Загрузка данных на клиентской части
🐏 Alexander
Эта дока не дает готового решения, это просто пособие как сделать самому.
ну да, но оно на столько простое, что можно копипастой кода все сделать
Sergey
А если в vuex результат запроса поместить и в дочерних компонентах использовать? Допустим такой вариант?