@vuejs_ru

Страница 2497 из 3900
Arsen
04.04.2018
17:47:26
ЧТобы этот компонент не рендерился до прихода данных

Sergey
04.04.2018
17:48:34
там же в запросе loading = false пробовал на <router-view :offercur="offer"></router-view> навешивать v-if="!loading"

не помогло

Roman
04.04.2018
17:49:06
как это поможет если ты роуту вешаешь. а не компоненту

Google
Arsen
04.04.2018
17:49:35
там же в запросе loading = false пробовал на <router-view :offercur="offer"></router-view> навешивать v-if="!loading"
Кстати да, и условие у тебя не верное, выключится когда данные загрузятся

Sergey
04.04.2018
17:50:11
Roman
04.04.2018
17:50:33
поменяй чето. имхо в router-view ты пропсы не передашь..

Arsen
04.04.2018
17:51:54
В компонент роута пропсы можно передавать из query

Если очень надо

И запрос на получение данных по идее должен быть прямо в компоненте, который висит на роуте

Arsen
04.04.2018
17:54:00
asyncData это фишка роутера?

Roman
04.04.2018
17:54:11
как по мне запросы должны быть в роут-компонентах.

asyncData это фишка роутера?
ну почти. это фишка SSR

Arsen
04.04.2018
17:54:41
Roman
04.04.2018
17:54:49
Arsen
04.04.2018
17:55:30
ну почти. это фишка SSR
Но asyncData работает не только при ssr почему этого нет в роутере?) ?

Google
Arsen
04.04.2018
17:56:32
Ну ssr ведь только при начальной загрузке

Потом всё как в спа

Ждёт пока asyncData зарезолвится а потом переходит на роут

Roman
04.04.2018
17:57:12
asyncdata это фетч данных на ноде которая потом отрендерит тебе и отдаст все вместе

Arsen
04.04.2018
17:57:54
Ненене, это работает и там и там

https://nuxtjs.org/guide/async-data#__layout

Sergey
04.04.2018
17:58:14
просто запрос я делаю в родителе а в дочерних хотелось бы выводить части общей инфы

Roman
04.04.2018
17:58:21
вот и начал бы с того что это нукст

Arsen
04.04.2018
17:58:39
Но они врядли модифицировали это



Roman
04.04.2018
17:59:21
все так. потому что при переходе на роут ищется опция асинкдата и если там чето есть то выполняется

но это делается на ноде (90% уверен)

Arsen
04.04.2018
17:59:41
Нет

Это делается там, где запускается

Roman
04.04.2018
17:59:54
https://github.com/xrei/vue-ssr/blob/master/template/src/entry-server.js

почитай реализацию

Arsen
04.04.2018
18:00:22
Видимо нухтовцы всё-же чё-то переделали, ибо поведение одинаковое на сервере и клиенте

Roman
04.04.2018
18:01:02
у тебя вообщет нода на каждый роут отдает

а не один раз в самом начале

Google
Arsen
04.04.2018
18:03:02
Не зря, видимо, выбрал нухт

Roman
04.04.2018
18:03:47
Да не нужен он)

Лишний слой

Arsen
04.04.2018
18:03:54
Но реально вполне логичнее было бы прицепить asyncData к роутеру

просто запрос я делаю в родителе а в дочерних хотелось бы выводить части общей инфы
Зачем писать логику детей в родителях? каждый роут должен сам знать что и откуда брать

Да не нужен он)
Да вполне неплохо, меньше долбёжки

DimenSi
04.04.2018
18:05:04
Если заходят первый раз, то отдает нода. Дальше работает клиент. Клиент перед каждым переходом собирает все asyncData и резолвит их.

Roman
04.04.2018
18:05:14
Но реально вполне логичнее было бы прицепить asyncData к роутеру
он вообще то и прицеплен к роутеру. я те кинул реализацию. в нукте такая же, можешь найти, мне влом искать

DimenSi
04.04.2018
18:06:12
Но судя по доке ssr.vue то там по дефолту надо ручками это реализовывать
Эта дока не дает готового решения, это просто пособие как сделать самому.

Roman
04.04.2018
18:06:41
готовое решение я сделал ? минимальное со всем чем нужным что мне надо от ssr, а вся лишняя херня нукста мне ненужна)

Arsen
04.04.2018
18:09:04
Хмм, т.е. всё-таки у них есть встроенная реализация, но в доках описаны просто несколько методов использования asyncData

https://ssr.vuejs.org/ru/data.html# раздел Загрузка данных на клиентской части

Alexander
04.04.2018
18:16:22
Эта дока не дает готового решения, это просто пособие как сделать самому.
ну да, но оно на столько простое, что можно копипастой кода все сделать

Sergey
04.04.2018
18:16:56
А если в vuex результат запроса поместить и в дочерних компонентах использовать? Допустим такой вариант?

Admin


Google
Arsen
04.04.2018
18:17:37
Имплементируй себе asyncData

Roman
04.04.2018
18:18:25
Имплементируй себе asyncData
ты вообще читал че я кинул? все уже сделано до тебя)

Arsen
04.04.2018
18:18:40
Ну дак это в ssr а не просто в роутере

Roman
04.04.2018
18:18:56
это все вместе лол

Roman
04.04.2018
18:19:02
ты походу чето не понимаешь

Arsen
04.04.2018
18:19:21
Я понимаю, но в самом роутере этой фишки нет

Alexander
04.04.2018
18:19:49
блин, там же написано все четко

берется компонент, вызывается метод asyncData, не важно что это сервер или клиент

Arsen
04.04.2018
18:20:32
Но в чистом роутере нету же

Надо просто допилить

Roman
04.04.2018
18:20:42
Arsen
04.04.2018
18:20:44
Что я и предложил

Vue.mixin({ beforeRouteUpdate (to, from, next) { const { asyncData } = this.$options if (asyncData) { asyncData({ store: this.$store, route: to }).then(next).catch(next) } else { next() } } })

Roman
04.04.2018
18:20:57
только там есть beforeRouteEnter

Alexander
04.04.2018
18:21:06
ну так это же роутер, с чего бы ему делать запросы

Arsen
04.04.2018
18:21:45
Ну хз, это логично, чтобы роутер предоставлял возможность запросить данные перед переходом

Вообще это всё нухт виноват, разбаловал меня)

Alexander
04.04.2018
18:22:49
да вот именно, все эти cli, nuxt только чтобы побырому начать проект писать, а как оно работает хер кто знает

Arsen
04.04.2018
18:23:16
Не, ну понимаю как работает, просто самому делать не приходится)

Google
Arsen
04.04.2018
18:23:35
Даже копипастить

Alexandr
04.04.2018
18:36:28
Всем привет)

Sergei
04.04.2018
18:37:12
Привет, vue-брат

Arsen
04.04.2018
18:40:45
Не, роутер резолвит асинхронные компоненты сразу
Короче только что перечитал немного доку по роутеру, и походу я ошибался и всё-таки можно, просто нет смысла указывать loading, error и т.д., т.к. переход не будет сделан пока не зарезолвится компонент... но я чёт не уверен, надо проверить

Блин, не то сообщение отметил

Страница 2497 из 3900