@vuejs_ru

Страница 52 из 3900
Rafael
04.01.2017
19:12:25
ух, спасибо, а то документация довольно бедна на эту тему

Illya
04.01.2017
19:13:25
Осторожно, градус наркомании в коде 6 по пятибальной :)

Rafael
04.01.2017
19:13:32
:NavigationGuard что это?

Illya
04.01.2017
19:13:35
Мои вкусы весьма специфичны

Google
Illya
04.01.2017
19:13:42
Это flow

Строгая типизация в js

Игнорируй :)

Rafael
04.01.2017
19:15:25
даже такой кусочек кода открыл мне глаза, я то думал что пихнув 1 раз в конструктор vue само хранилище оно будет изменяться локально, только внутри инстанса vue

хмм

а почему IS_LOGGED_IN заделал как константу?

Illya
04.01.2017
19:16:43
Чтобы не думать о конфликтах имён в разных модулях vuex

Все геттеры со всех модулей вливаются в store.getters

И мало ли какой программист захочет назвать свой геттер к примеру table или data

Залог успешного проекта - жёсткая диктатура со стороны кодстайла

Alex
04.01.2017
19:37:43
А от нытия коллег от жёсткой диктатуры по кодстайлу есть варианты отделаться? ?

Михаил
04.01.2017
19:39:58
Залог успешного проекта - жёсткая диктатура со стороны кодстайла
скажи пожалуйста, я предполагаю, что ты мониторишь рынок и требования заказчиков, можно ли ждать от ву такой же популярности как от реакта или нг ? Просто, сейчас ухожу от ng1 и думаю куда податься, есть реакт, а есть - ву. Компания хочет реакт, и я готов с этим смириться, но сердце хочет vue ) Я верю в него по трем причинам: 1)пост Evan`а о темпах развитя за 2016, 2) доклад Листочкина 3)порыв души и сердца. Что думаешь по этому поводу ?

Illya
04.01.2017
20:08:18
А от нытия коллег от жёсткой диктатуры по кодстайлу есть варианты отделаться? ?
Да. Добрым словом и пистолетом. Гораздо эффективнее чем просто долгим словом

Google
Illya
04.01.2017
20:11:34
скажи пожалуйста, я предполагаю, что ты мониторишь рынок и требования заказчиков, можно ли ждать от ву такой же популярности как от реакта или нг ? Просто, сейчас ухожу от ng1 и думаю куда податься, есть реакт, а есть - ву. Компания хочет реакт, и я готов с этим смириться, но сердце хочет vue ) Я верю в него по трем причинам: 1)пост Evan`а о темпах развитя за 2016, 2) доклад Листочкина 3)порыв души и сердца. Что думаешь по этому поводу ?
Мониторю. Мое мнение что популярность ву будет сильно меньше реакта. В основном потому что реакт уже достиг плато продуктивности, а ву нет. Так же потому что мы увидим эффект "победитель забирает все", а ву останется (по моим оценкам) #3 после реакта и нг2 (хотя мне он ужасно не нравится) В то же время я верю что ву позволяет решать бизнес-задачи быстрее и продуктивней именно в сфере аутсорсинга (начиная от порога вхождения для джуниоров и заканчивая более "очевидной" экосистемой), а это значит что спрос на ву разработчиков будет и по моим ожиданиям именно в силу меньшей популярности технологии они будут стоить дороже Мы с Андреем на Speaker Corner'е на последнем MostJS Frameworks Day хвалили Ву. Там было забавно - сидело 5 спикеров на сцене, из них 4 включая меня хайпили Ву

Rafael
04.01.2017
20:20:10
хм, что-то у меня вылетает с ошибкой: у меня есть страничка с авторизацией и я хочу редиректнуть на главную страцу если авторизация прошла успешна: у меня есть геттер isAuthorised есть метод у компоненты: goToApps () { if (this.isAuthorized) { this.$router.push({name: 'apps'}) } } и редирект осуществлятся через: watch: { 'isAuthorized': 'goToApps' },

Михаил
04.01.2017
20:20:56
а зачем вотчер?

Illya
04.01.2017
20:21:03
похоже что this отваливается

судя по ошибке

Rafael
04.01.2017
20:21:34
а зачем вотчер?
а как по другому?

Михаил
04.01.2017
20:22:05
я всегда думал, что должен висеть хук на роутере и при каждом изменении роута чекать авторизацию и тогда уже редиректить куда нужно

Illya
04.01.2017
20:22:10
а вообще для этого сценария я бы использовал lifecycle методы или роутинг

а вотчеры это как-то so angular :)

Rafael
04.01.2017
20:23:35
но погодите, я не понимаю как то, что вы предлагаете мне поможет, мне же все равно нужно сначала заставиь редиректнуться куда-нибудь

как это сделать если не через watcher?

Михаил
04.01.2017
20:23:56
у тебя есть роутер?

Rafael
04.01.2017
20:24:02
Михаил
04.01.2017
20:24:11
знаешь что такое lifecycle ?

Illya
04.01.2017
20:24:12
я так понимаю авторизация выполняется попапом

и может быть с любой страницы

Rafael
04.01.2017
20:24:21
знаешь что такое lifecycle ?
для компоненты только

Михаил
04.01.2017
20:24:29
у роутера тоже самое почти

хуки иные просто

Rafael
04.01.2017
20:24:42
я так понимаю авторизация выполняется попапом
и через попап и через отдельную страницу

Google
Михаил
04.01.2017
20:25:07
ты можешь дергать хук на каждое изменение роута и смотреть авторизован ли пользователь, если нет - редирект на логин пейдж

Illya
04.01.2017
20:25:17
это не покрывает сценарий попапа

пардон, отошел на пару часов

Михаил
04.01.2017
20:25:33
почему же ?

А

понял

Rafael
04.01.2017
20:26:44
тогда как делать?

документация по хукам ужасна, откуда вы черпали знания?

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

или это там все как-то автоматически подставлется, в чем я сильно неуверен

Михаил
04.01.2017
20:34:12
тебе не нужно использовать хук в компоненте

Rafael
04.01.2017
20:34:36
хорошо, тогда какое условие заставит редиректнуться?

Михаил
04.01.2017
20:34:53
http://router.vuejs.org/ru/advanced/navigation-guards.html

Rafael
04.01.2017
20:34:55
вот с watch все понятно: переменная изменилась - вызвалась функция

Михаил
04.01.2017
20:35:07
это если сейчас говорить про роутинг и без попапа

у тебя есть beforeEach

Михаил
04.01.2017
20:36:25
ты там дёргаешь стор, например, чекаешь залогинен ли юзер, если нет делаешь редирект

Rafael
04.01.2017
20:38:14
как мы подставляем туда аргументы to, from, next?

Михаил
04.01.2017
20:38:30
to - роут куда идет переход

Google
Михаил
04.01.2017
20:38:43
from - роут откуда идет переход

Rafael
04.01.2017
20:39:35
to - роут куда идет переход
это я понял, но в фунцию мы передает что-то типо this.$router...?

Михаил
04.01.2017
20:39:55
next - запускает следующий хук

а ты ничего

туда не можешь передать

Rafael
04.01.2017
20:40:59
так так, вроде начинаю догонять

Михаил
04.01.2017
20:41:03
это автоматическая функция, которая вызывается каждый раз, когда меняется твой роут

глупо звучит

но примерно так если на пальцах)

Admin
ERROR: S client not available

Rafael
04.01.2017
20:41:09
ща попробую это реализовать

Михаил
04.01.2017
20:41:36
у тебя хук например created в компоненте вызывается каждый раз при рендере, хуки в роутере вызываются каждый раз при роутинге

Rafael
04.01.2017
20:43:30
т.е типо почему он работает именно так

а почему у Ильи: https://gist.github.com/xanf/771ad7fddfce688bbc29b1a0964e23f5 переход на новую ссылку осуществялется через push, а не через next?

Михаил
04.01.2017
20:46:06
Ты путаешь переход на ссылку

или на следующий хук

Илья редиректнул своего юзера на Login и потом обозначил, что дальше можно не юзать хуки, если же юзер залогинен он юзает next()

Rafael
04.01.2017
20:48:14
а, понял

так, я не понял последнюю вещь: почему у него в коде импортится хранилище, а не используется хранилище, которое было передано при инициализации инстанса vue?

Google
Rafael
04.01.2017
20:50:18
если он сделает такие импорты в разных файлах, он ведь получит несколько различных хранилищ, а не копии одного

Михаил
04.01.2017
20:51:29
это хороший вопрос

Rafael
04.01.2017
20:51:58
тоже самое про роутер

я думаю что-то не то

кароч, допустим я нахожусь на страничке авторизации: я успешно авторизировался и хочу редиректнуть пользователя на какую-нибудь страничку, как это сделать?

Alex
04.01.2017
21:08:54
router.push({ path: 'home' })

или куда там хочется

можно .replace чтобы не осталась авторизация в истории

Rafael
04.01.2017
21:09:43
router.push({ path: 'home' })
как отследить что пользователь успешно авторизировался, чтобы пушнуть нужное место? через watch?

Alex
04.01.2017
21:10:05
router.beforeEach((to, from, next) => { if (!store.state.auth.status) { next({ path: '/login' }) } else { next() } })

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

тогда при каждой смене роута будет выполняться проверка

Alex
04.01.2017
21:11:30
const router = new VueRouter({ routes // short for routes: routes })

Перед инициализацией Vue пока еще с роутером возишься будет

если не всегда, то доп. проверку добавлять, например через meta

Rafael
04.01.2017
21:12:31
т.е meta работает как if?

Alex
04.01.2017
21:13:45
в meta как я понял можно пихать всё что тебе захочется и нужно будет

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