@vuejs_ru

Страница 196 из 3900
Kelin
22.02.2017
18:43:29
это какие?
Под мобилку

Weex

Stanislav
22.02.2017
18:43:35
Weex&

Ivan
22.02.2017
18:43:51
Я в курсе, но там пока вроде все печально

Google
Kelin
22.02.2017
18:43:52
@xanf_ua игрался вроде

trilog
22.02.2017
18:43:54
а Weex не сыроват?

Stanislav
22.02.2017
18:44:23
Сыроват

Kelin
22.02.2017
18:44:28
Дак а что вы хотите, Vue сам по себе новый фреймворк по сравнению с остальными Можно сказать, только-только обороты набирает

А Weex не первоначальная задача, это уже энтузиасты подхватили

Ivan
22.02.2017
18:44:56
Ну, в гибридные он может

Stanislav
22.02.2017
18:45:50
?

Kelin
22.02.2017
18:46:06
Ну, я имею в виду, что не сам же Evan You пилит его

Stanislav
22.02.2017
18:46:47
Тем не менее, для weex есть отдельный ... что то там в офф поставке vue

Kelin
22.02.2017
18:47:44
Тем не менее, это изначально не их проект

Illya
22.02.2017
18:48:00
Эван консультирует

Kelin
22.02.2017
18:50:14
О, а вот и наш эксперт по ̶j̶Q̶u̶e̶r̶y̶ пришел)

Google
Illya
22.02.2017
18:55:16
Ага

Jquery one love

Vitalii
22.02.2017
18:56:54
)))

Rafael
22.02.2017
19:29:33
если у кого-то встанет вопрос, делать ли для отдельный неймспейс для модуля vuex, когда будете писать свой пакетик, то гляньте на вот это: https://github.com/MetinSeylan/Vue-Socket.io например мне в моем модуле уведомлений отдельный неймспейс будет злом Илья был прав

лучше сделать форк, подправить что нужно и запилить свой пакет или же стоит оформить PR?

Andrey
22.02.2017
19:47:13
PR для комьюнити ценне, наверное

Kelin
22.02.2017
20:17:13
Чет я завтыкал с роутингом

Как вызвать проверку авторизации, чтобы она прошла до того, как роутинг начнет работать?

У меня есть а/а функция, которая чекает и кладет в стор инфу об авторизованном пользователе + авторизован ли он вообще

Andrey
22.02.2017
20:19:06
ну выполни ее перед самым первым переходом

Kelin
22.02.2017
20:19:09
если класть в beforeEach(), то каждый раз обращаться не каеф запилил еще один флаг, типа была ли вызвана проверка вылезла еще одна хрень - при первой загрузке страницу этот метод вызывается 3 раза



Andrey
22.02.2017
20:20:02
или в глобальном инстансе проверяй

Kelin
22.02.2017
20:20:41
Пробовал воткнуть в хуки created/beforeCreate - они, как я понял, вообще после роутера срабатывают, 0 эффекта крч

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

Kelin
22.02.2017
20:25:43
beforeEach == beforeEnter для всех

Google
Rafael
22.02.2017
20:26:15
beforeEach == beforeEnter для всех
ты можешь повесить на нужный путь beforeEnter и тогда он будет вызываться еще и для всех потомков

Kelin
22.02.2017
20:26:46
Ты не понял сути вопроса Мне нужно чтобы эти хуки срабатывали уже после того, как я сделал запрос к апишке

А они наперед вызываются и зацикливаются

В итоге по 2-3 раза успевают вызвать запрос

Andrey
22.02.2017
20:27:28
а где у тебя делается запрос с апи?

Kelin
22.02.2017
20:27:32
https://router.vuejs.org/ru/advanced/meta.html Вот тут даже пример есть, но прикол в том, что auth.loggedIn() уже должно быть известно

а где у тебя делается запрос с апи?
дак вот же, я его в beforeEach() пихал

Rafael
22.02.2017
20:28:06
и возвращаять флажок, авторизирован или нет

Kelin
22.02.2017
20:28:58
Он тогда будет при каждом переходе

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

Rafael
22.02.2017
20:29:17
Он тогда будет при каждом переходе
ты используешь хранилище?

Rafael
22.02.2017
20:30:06
тогда добавть мету. а внутри чекай, мету + auth.loggedIn() и по его результату либо редирект куда подальше, либо пропускаешь

Kelin
22.02.2017
20:30:22
а у вьюкса часом нет хуков?

Rafael
22.02.2017
20:30:43
Kelin
22.02.2017
20:30:48
вот это печально

Kelin
22.02.2017
20:31:25
тогда добавть мету. а внутри чекай, мету + auth.loggedIn() и по его результату либо редирект куда подальше, либо пропускаешь
так я же говорю, тогда при каждом переходе между страницами будет вызываться loggedIn() Который собственно и делает запрос

Google
Kelin
22.02.2017
20:32:10
а когда в хранилище ложить?))))

чтобы хук вызвался, когда уже в хранилище лежит

Rafael
22.02.2017
20:32:28
а когда в хранилище ложить?))))
если в хранилище пусто, то отправдяешь запрос

Kelin
22.02.2017
20:32:53
вот а теперь возвращаемся к нашим баранам

Rafael
22.02.2017
20:33:06
так, четко опиши вилку действий

типо что делаем в первый раз, что делаем когда заходим повторно

Kelin
22.02.2017
20:33:41
beforeEach() вопреки тому, что я прописал async/await, почему-то тыкается на одну и ту же страницу до тех пор, пока в стор не ляжет инфа

и вот оно проскакивает раза 3 так

Admin
ERROR: S client not available

Rafael
22.02.2017
20:34:26
ну смотри, у тебя же 100% auth.loggedIn это промис

Kelin
22.02.2017
20:34:32
1. В первый раз мы делаем запрос к апишке и кладем результат в стор 2. Собственно, смотрим, если авторизован - пускаем, если нет - шлем на авторизацию Остальные разы только второй пункт

Rafael
22.02.2017
20:34:40
ты просто вызываешь next() когда резолв

Ну, асинк
тот же промис считай

Kelin
22.02.2017
20:35:08
да

Rafael
22.02.2017
20:36:02
ща, начирикаю код

beforeEnter: (to, from, next) => { if (meta.requireAuth && store.getters.loggedIn) { // ... } else { auth.loggedIn().then(() => { next() }); } }

beforeEnter: (to, from, next) => { if (meta.requireAuth && store.getters.loggedIn) { next(); } else { auth.loggedIn() .then(() => { next() }) .catch(() => { next('/') }); } } ну или че-нить такое

Kelin
22.02.2017
20:39:50
Ну у меня почти то же самое



Google
Rafael
22.02.2017
20:40:31
beforeEnter: (to, from, next) => { if (meta.requireAuth && store.getters.loggedIn) { next(); } else { auth.loggedIn() .then(() => { next() }) .catch(() => { next('/') }); } } ну или че-нить такое
в таком случае у тебя трех запросов быть не должно, потому что ты переходишь к следующему хуку, только когда запрос выполнен

Andrey
22.02.2017
20:42:54
он у тебя три раза срабатывает на один и тот же маршрут?

ну всмысле to у тебя все 3 раза одинаковый?

Kelin
22.02.2017
20:43:34
Да

У меня главная страница - лендинг с кнопкой входа И типа если не авторизован, то кидать должно туда Получается, я захожу на главную, и, как я понял, он зацикливается

Ivan
22.02.2017
20:44:31
Фигня какая-то. Просто на каждый переход ходи в сторону, если там не авторизован, ходи в бэк. В чем проблема?

Andrey
22.02.2017
20:44:37
сделай console.log(isAuth) после его получения. и распечатай console.log(to)

Ivan
22.02.2017
20:44:47
В стор

Andrey
22.02.2017
20:45:36
это паблик проект? или не засветишь исходники?

Kelin
22.02.2017
20:46:04


Ааа черт, стор не так записал, ща



Ivan
22.02.2017
20:47:42
Старая добрая засранная консоль

Kelin
22.02.2017
20:47:58
Старая добрая засранная консоль
дыа, я тот еще извращенец

Ivan
22.02.2017
20:49:21
Просмотри реквест. Ты данные об авторизации передаешь?

Kelin
22.02.2017
20:49:50
> store set это то, что кладется getAuth() кладет в стор

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