Size: a a a

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

2020 July 27

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
Или лучше так: как достать контекст из лейаута?
источник

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
Stanislav Lashmanov
А фетч в лейауте заработал?
На словах поддерживается, по факту нет :(
источник

D

DreaMinder in Nuxt.js — русскоговорящее сообщество
Stanislav Lashmanov
На словах поддерживается, по факту нет :(
хз что именно ты делаешь но у меня что-то работает. Рендерит
[ "isStatic", "isDev", "isHMR", "app", "payload", "error", "base", "env", "ssrContext", "redirect", "beforeNuxtRender", "route", "next", "_redirected", "_errored", "params", "query", "$config" ]
источник

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
Хм, так там теперь нужно не объект возвращать а прямо контекст патчить?
источник

D

DreaMinder in Nuxt.js — русскоговорящее сообщество
Stanislav Lashmanov
Хм, так там теперь нужно не объект возвращать а прямо контекст патчить?
верно, все работает только через this
источник

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
DreaMinder
верно, все работает только через this
Хм, да, так ок
источник

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
DreaMinder
верно, все работает только через this
++
источник

N

Nano.Karmabot.chat in Nuxt.js — русскоговорящее сообщество
Choice! DreaMinder got +1 from staslashmanov. 12 karma in total.
источник

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
У меня получилось завести предиктивный рендеринг адаптивки в наксте
источник

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
В этот раз без утечек памяти :)
источник

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
Если кто-то надумает поэкспериментировать: https://github.com/CyberAP/vue-component-media-queries
источник

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
Вот так в лейауте например задаю что рендерить нужно для мобилки
async fetch() {
     if (this.$nuxt.context.req) {
       const { default: uaparser } = await import('ua-parser-js');
       const { device } = uaparser(this.$nuxt.context.req.headers['user-agent']);
       this.fallback = device.type === 'mobile' ? 'mobile' : null;
     }
   },
источник

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
Уапарсер грузится динамически чтобы в прод не попал бандл
источник

D

DreaMinder in Nuxt.js — русскоговорящее сообщество
++
источник

N

Nano.Karmabot.chat in Nuxt.js — русскоговорящее сообщество
Nice! staslashmanov got +1 from DreaMinder. 10 karma in total.
источник

SL

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

D

DreaMinder in Nuxt.js — русскоговорящее сообщество
т.е. мобайл определяется по max-width и это как-то подвязано к UA? не думал что это возможно, позже чекну, может не раздуплился
источник

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
Stanislav Lashmanov
Конкретно в наксте с реактивностью ещё какие-то приколы возникают, так что пока не продакшен-реди решение
Вру, это всё проделки npm link, реактивность работает везде
источник

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
DreaMinder
т.е. мобайл определяется по max-width и это как-то подвязано к UA? не думал что это возможно, позже чекну, может не раздуплился
Не совсем. Медиа квери выполняются только на клиенте, но можно передать проп fallback где указать какие из медиа кверь нужно выставить в true
источник

SL

Stanislav Lashmanov in Nuxt.js — русскоговорящее сообщество
Собственно этот фолбек приходит из фетча который гоняется только на сервере так как только там есть req
источник