
Yaroslav
28.08.2017
10:08:54
Да ssr, там правда два модуля глобальный для app, и конкретно для каталога. Всё работает

Alexey
28.08.2017
10:09:36

Yaroslav
28.08.2017
10:09:45
Конечно

Andrey
28.08.2017
10:09:48
@aedigital

Google

Andrey
28.08.2017
10:09:48
но когда я передаю просто объект, то не работает, а если переделаю в формат url, то работает
в чем дело?
заголовки смотри

æ digital
28.08.2017
10:09:58
А вот ещё про вьютифай вопрос. Как дело обстоит с кастомизацией, если мне надо перебить стили? Вот есть их компонент, я хочу взять его за основу и доделать. Как это реализовывается?

Alexey
28.08.2017
10:10:20
Конечно
а тебя не смущает, что асинкдата вызывается и на сервере и на клиенте и по сути одни и те же данные фетчатся дважды?

æ digital
28.08.2017
10:11:07
@AndreyKlimash все ясно, успехов

Yaroslav
28.08.2017
10:11:33
Она не может вызываться на клиенте. Она вызывается только в app for server через метод router.getMatchedComponents()

Alexey
28.08.2017
10:13:12
в beforeMount

Andrey
28.08.2017
10:13:58
@AndreyKlimash все ясно, успехов
все ему ясно блять. подсказать не варинат вообще? для тебя пустяк, а мне сейчас гору интернетов перелопатить надо, чтобы разобраться.

Yaroslav
28.08.2017
10:14:46
Правильно, но это не одновременно. Метод beforeMount работает только на клиенте, следовательно это сработает только при переходах уже на стороне клаиента. Сначала на сервере грузим то что нжно для рендеренга на сервере. А потом это изолированная от сервера аппка

Google

Alexey
28.08.2017
10:16:29
ну и она по факту вызывается если дебажить

Stanislav
28.08.2017
10:17:49

Yaroslav
28.08.2017
10:19:06
Ну и там вычисляем что уже было сматчено, потом что должно матчится
const matched = router.getMatchedComponents(to)
const prevMatched = router.getMatchedComponents(from)
// we only care about none-previously-rendered components,
// so we compare them until the two matched lists differ
let diffed = false
const activated = matched.filter((c, i) => {
return diffed || (diffed = (prevMatched[i] !== c))
})
if (!activated.length) {
return next()
}
И уже то что не сматчено подтягивается

Alexey
28.08.2017
10:22:41
хм
я использовал второй вариант
Fetch data after the matched view is rendered

Yaroslav
28.08.2017
10:23:39
Единственное нужно проверить что бы когда заходит изначально отрендеренная страница to === from

Alexey
28.08.2017
10:24:39

Yaroslav
28.08.2017
10:24:55
Изначально?

Stanislav
28.08.2017
10:25:01
покажи код

Alexey
28.08.2017
10:25:01
на клиенте

Stanislav
28.08.2017
10:25:43
post или get отправляешь?

Andrey
28.08.2017
10:26:06

Alexey
28.08.2017
10:27:28
Изначально?
ну то есть сам стор на клиенте вставляется в инстанс через replaceState а оно не заменяет стейт модулей, только глобальный

Yaroslav
28.08.2017
10:29:04
Оно и не должно заменять, оно дожно формировать можно сказать изначальный стейт относительно роута. И уже дальше анон будет переходить по приложению и подтягивать нужное, относительно того на какой урл он ходит

Stanislav
28.08.2017
10:29:33
1.вообще, у тебя на скрине выше говорит, что сервер не нашел такой урл
2. Хрен его знает что там под this.$http

Google

Andrey
28.08.2017
10:30:06
непонятно почему не находит, когда я передаю объект а не url строку

Stanislav
28.08.2017
10:30:50

Andrey
28.08.2017
10:31:13

Yaroslav
28.08.2017
10:31:46
У меня на сервере подтягивается состояние для модуля app, и формируется каталог в модуле catalog например, всё это приходит с сервера и формурует первое состояние вообще всей сторы

Stanislav
28.08.2017
10:31:50

Andrey
28.08.2017
10:32:04

Stanislav
28.08.2017
10:32:16

Andrey
28.08.2017
10:32:35

Nikita
28.08.2017
10:33:03

Alexey
28.08.2017
10:33:09

Yaroslav
28.08.2017
10:33:38
Есть эти данные
Я понял

Alexey
28.08.2017
10:33:44
откуда?

Stanislav
28.08.2017
10:33:48
неа, думаешь проблема там?
А я знаю? Ты можешь 100% сказать, что твой плагин не изменяет формат объектов, которые передаются axios? Может в плагине нет поля data

Yaroslav
28.08.2017
10:33:57
покажи мне как ты рендериш строку
на сервере

Stanislav
28.08.2017
10:34:11

Andrey
28.08.2017
10:34:36

Google

Stanislav
28.08.2017
10:34:56
ща попробуем
Посмотри сначала че там на сервер уходит, какие запросы

Nikita
28.08.2017
10:34:58
@AndreyKlimash https://medium.com/the-vue-point/retiring-vue-resource-871a82880af4
последний абзац

Stanislav
28.08.2017
10:36:33

Alexey
28.08.2017
10:37:09

Nikita
28.08.2017
10:37:09

Stanislav
28.08.2017
10:37:46

Nikita
28.08.2017
10:37:52
ой все

Alexey
28.08.2017
10:38:46
покажи мне как ты рендериш строку
ну и там еще в createBundleRenderer подключается HMR. Я брал с примера эвана и незначительно модернизировал под свои нужды, но вся логика идентичная

Admin
ERROR: S client not available

Alexey
28.08.2017
10:39:15
при этом в верстке у меня стейт модулей есть
в window.__INITIAL_STATE_ данные есть

Yaroslav
28.08.2017
10:40:28

Alexey
28.08.2017
10:41:24

Yaroslav
28.08.2017
10:41:28
Ошибки сыпятся в консоли?

Alexey
28.08.2017
10:42:00
все как бы работает
приложение все рабоатет

Google

Alexey
28.08.2017
10:42:32
просто дело в том что replaceState заменяет только глобальный стейт
то есть глобальный стейт у меня фетчится на ура. А вот стейт модулей пуст

Yaroslav
28.08.2017
10:43:11
все как бы работает
Я праильно понимаю, что если Client Data Fetching убрать вообще, при первой загрузке страницы у тебя пустой стейт?

Alexey
28.08.2017
10:43:29
у модулей
глобальный норм

Yaroslav
28.08.2017
10:44:01
Давай смотреть что приходит у меня и у тебя в инитишиал стейт
я сейчас сделаю у себя для сравнения

Alexey
28.08.2017
10:47:03
включая данные модулей стора
registration, напрмиер, это данные модуля стора
НО
https://vuex.vuejs.org/en/api.html
"ROOT state"
то есть данные в initial state есть, но когда они вставляются на клиенте в инстанс через метод replaceState они тупо не попадают в стор. То есть глобальный стейт попадает, а стейт модуля нет

Yaroslav
28.08.2017
10:50:31
Попробуй всё что у тебя в глобальном стейте тоже вынести в отдельный модуль

Alexey
28.08.2017
10:52:16
потому что они не могут туда попасть никак, ибо replaceState только глобальный стор коппирует
им просто неоткуда там взятся