Size: a a a

Nuxt.js — русскоговорящее сообщество

2020 December 10

СР

Сергей Рыжков... in Nuxt.js — русскоговорящее сообщество
Irek Sitdikov
Добрый день.

Скорее всего нубский вопрос:
На server-side при рендеринге можно ли делать запросы? Или это только на client-side происходит?
можно, конечно (и нужно :)
источник

IS

Irek Sitdikov in Nuxt.js — русскоговорящее сообщество
Сергей Рыжков
можно, конечно (и нужно :)
вдогонку вопрос тогда
если Компонент №1 отрендерилась первой, а за ней идет Компонент№2, которая меняет данные в store после запроса к api, от которой зависит html Компонентf№1, это решается с помощью asyncData?
источник

СР

Сергей Рыжков... in Nuxt.js — русскоговорящее сообщество
Irek Sitdikov
вдогонку вопрос тогда
если Компонент №1 отрендерилась первой, а за ней идет Компонент№2, которая меняет данные в store после запроса к api, от которой зависит html Компонентf№1, это решается с помощью asyncData?
можно и так, можно и fetch (2 штуки), можно  в других хуках. Все от задачи зависит. мало информации
источник

IS

Irek Sitdikov in Nuxt.js — русскоговорящее сообщество
у меня есть компонента для хлебных крошек, которая берет их из store
и есть компонента страницы которая делает запрос к api и после вызывает action setCrumbs, который записывает их в store

компонента хлебных крошек идет первой по структуре сайта
источник

A

Alexander in Nuxt.js — русскоговорящее сообщество
Стоит <client-only> при этом ssr жалуется navigator is not defined 😩
в чем может быть дело?
источник

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
Alexander
Стоит <client-only> при этом ssr жалуется navigator is not defined 😩
в чем может быть дело?
Компонент надо асинхронным сделать
источник

A

Alexander in Nuxt.js — русскоговорящее сообщество
Stanislav Lashmanov
Компонент надо асинхронным сделать
LazyRange: () => import('~/components/smartFilters/panels/Range'),
Вот так гружу

       <client-only>
         <LazyRange
           v-if="panel.type == 'range'"
           :data="panel"
         />
       </client-only>
источник

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
Alexander
LazyRange: () => import('~/components/smartFilters/panels/Range'),
Вот так гружу

       <client-only>
         <LazyRange
           v-if="panel.type == 'range'"
           :data="panel"
         />
       </client-only>
Поставь тогда тогда флаг v-if=isMounted и переключай его в mounted
источник

A

Alexander in Nuxt.js — русскоговорящее сообщество
Stanislav Lashmanov
Поставь тогда тогда флаг v-if=isMounted и переключай его в mounted
Так все равно вопрос в том почему оно его грузит

Если сделаю в mounted то будет ошибка The client-side rendered virtual DOM tree is not matching server-rendered content
источник

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
Не, не будет
источник

A

Alexander in Nuxt.js — русскоговорящее сообщество
Stanislav Lashmanov
Не, не будет
Да, действительно, ошибка была из-за другого. Спасибо
источник

A

Alexander in Nuxt.js — русскоговорящее сообщество
Еще вопрос, если я хочу чтобы компонент грузился сразу на ssr а на стороне юзера через минуту и не было ошибки The client-side rendered virtual DOM tree is not matching server-rendered content?
источник

A

Alexander in Nuxt.js — русскоговорящее сообщество
я сделал переменную lazy_load и для ssr включена, для юзера в маунтед после таймаута становится включена
источник

A

Alexander in Nuxt.js — русскоговорящее сообщество
но тогда получаю ошибку The client-side rendered virtual DOM tree is not matching server-rendered content
источник

S

Sonic [Скупаю | Акту... in Nuxt.js — русскоговорящее сообщество
Alexander
Еще вопрос, если я хочу чтобы компонент грузился сразу на ssr а на стороне юзера через минуту и не было ошибки The client-side rendered virtual DOM tree is not matching server-rendered content?
Почему просто не обернуть в плагин и указать ему ssr: false ?
источник

A

Alexander in Nuxt.js — русскоговорящее сообщество
Sonic [Скупаю | Актуально всегда]
Почему просто не обернуть в плагин и указать ему ssr: false ?
так мне надо чтобы на ssr сразу грузилось, а на клиенте потом 🧐
Разве так выйдет
источник

СР

Сергей Рыжков... in Nuxt.js — русскоговорящее сообщество
Alexander
Так все равно вопрос в том почему оно его грузит

Если сделаю в mounted то будет ошибка The client-side rendered virtual DOM tree is not matching server-rendered content
Ассинхронный компонент и отложенная (Lazy) загрузка это разные вещи
источник

AS

Alexandr Sachishin in Nuxt.js — русскоговорящее сообщество
Alexander
Еще вопрос, если я хочу чтобы компонент грузился сразу на ssr а на стороне юзера через минуту и не было ошибки The client-side rendered virtual DOM tree is not matching server-rendered content?
делаешь 2 блока через v -if="hidden"и  v-else (1 без контента другой с ним) и по умолчанию hidden = true. делаешь сет тайм аут в маунтеде при истечении которого hidden становится false
источник

A

Alexander in Nuxt.js — русскоговорящее сообщество
Сергей Рыжков
Ассинхронный компонент и отложенная (Lazy) загрузка это разные вещи
Так Lazy или не Lazy не важно
источник

NE

New Era in Nuxt.js — русскоговорящее сообщество
Всем привет, подскажите, использую  любой директории в /test то все хорошо, но если я уже нахожусь в /test и использую ссылку то получается /test/test как я могу этого избежать стандартными способами без написания проверок?
источник