@vuejs_ru

Страница 3760 из 3900
Alex
05.10.2018
10:50:51
не перед каждым преходом делать запрос к серверу а получать уже из стора.
при переходе просто обновлять нужную информацию в строе

а информацию всегда брать из стора

разве не?

Сергей
05.10.2018
10:51:28
тогда на каждый переход дополнительный запрос к серверу

Google
Сергей
05.10.2018
10:52:03
+ правильней проверять доступ пользователя к ресурсу перед переходом

Alex
05.10.2018
10:52:24
тогда на каждый переход дополнительный запрос к серверу
а вдруг тебе бан дали на сервере, а стор этого не знает))

Сергей
05.10.2018
10:54:14
в моем случае не страшно все на бэке будет проверка всех пользовательских запросов ну и при след авторизации пользователя просто не пустит

сейчас главый вопрос как не отдать стрнаицу не авторизованному пользоватлю

при хождении по сайту проблем нет но вот при первом образнеии к страницы всплывают проблемы

Vlad
05.10.2018
10:56:13
Какие проблемы то? чекаешь токен в beforeEach роутера, если сдох - редирект на авторизацию

ну или какие тебе хуки там нужны, https://router.vuejs.org/ru/guide/advanced/navigation-guards.html#%D0%B3n%D0%BE%D0%B1%D0%B0n%D1%8C%D0%BD%D1%8B%D0%B5-%D1%85%D1%83%D0%BA%D0%B8 все написано четко и полно

пока next() не вызовешь, роут висит

Сергей
05.10.2018
11:03:10
Какие проблемы то? чекаешь токен в beforeEach роутера, если сдох - редирект на авторизацию
На бэке ларавель, используется стандратная авторизация не api и при монтировании обращение к серверу для получения данных пользователя (его роли) и в зависисмости от того авторизовн ли пользователь и какая у него роль различные доступы

https://yadi.sk/i/PQQprBuLspbIow

при первом обращении в сторе ни чего нет

как сервер отвечает в сторе пишется данные

Mikhail
05.10.2018
11:05:03
В next проблема программно нельзя вызвать какой нибудь редирект на несуществующий роут, иначе зависнет все Я сейчас примерно с той же проблемой борюсь, пытаюсь сделать middleware для /admin

Google
Сергей
05.10.2018
11:05:55
вот у меня middleware для 3х ролей пользователей

Mikhail
05.10.2018
11:06:53
Т.к есть сама App и есть AdminAPp, соответственно это разные бандлы у них разные файлы роутов, используя jwt токены в ларавел. А так как не юзается session авторизации с этим проблемы пока , решения пока не нашел)

Можно конечно заюзать в beforeEach next({path: 'path'}) но это тебя перекинет внутри твоих роутов внутри admin

Al
05.10.2018
11:08:42
Приветствую! Какие есть способы, обратиться к методу из дочернего компонента, который находится в родительском компоненте?

Mikhail
05.10.2018
11:08:51
а нужно выкинуть допустим на Главную, конечно можно использовать document.location, но уже выглядит как костыль

this.$parent вроде

честно давно не занимался таким)

Dmitry
05.10.2018
11:10:53
this.$parent вроде
это плохо

Andrew
05.10.2018
11:10:57
у меня обычный input, у которго изначально есть value, меняет background канваса. я уже даже все привязки удалил из этого инпута и он всё равно это делает. в чём может быть проблема?

Al
05.10.2018
11:11:07
this.$parent вроде
спасибо, попробую

Mikhail
05.10.2018
11:11:15
Да это плохо, поэтому и говорю что давно таким не занимаюсь)

Al
05.10.2018
11:11:19
пропсы
а в пропсах разве можно метод передавать?

Mikhail
05.10.2018
11:11:40
Что угодно можешь туда пихать)

Al
05.10.2018
11:12:07
Что угодно можешь туда пихать)
отлично! спасибо, сейчас попробую! ?

Mikhail
05.10.2018
11:12:36
А вообще у тебя не должно быть такой ситуации когда нужно вызвать метод из дочернего, вероятно ты где то накосячил

Al
05.10.2018
11:13:53
А вообще у тебя не должно быть такой ситуации когда нужно вызвать метод из дочернего, вероятно ты где то накосячил
согласен, я только в начале пути, разбираюсь ? просто для универсальности переиспользования компонента, решил его обернуть в еще один родительский компонент, в который вынес определенные свойства и методы

Dmitry
05.10.2018
11:14:21
vuex, props, event-bus

документация все случаи описывает

вот возможные типы пропсов

Google
Dmitry
05.10.2018
11:15:35
String Number Boolean Array Object Date Function Symbol



и просто props

и смотришь подробную доку, очень удобно

Al
05.10.2018
11:16:44
vuex, props, event-bus
большое спасибо!

Vlad
05.10.2018
11:20:53
Погоди, что значит используется стандартная авторизация?)

Сергей
05.10.2018
11:22:30
Женя
05.10.2018
11:22:45
куки

клеймы

Vlad
05.10.2018
11:22:54
Ну с помощью кук, какая разница)

Чекни авторизацию любым запросом при монтировании приложения. Можешь вообще до монтирования чекать

Женя
05.10.2018
11:23:57
Стоп

я вчера с этим возился

Женя
05.10.2018
11:24:16
как перед монтированием чекнуть?

Сергей
05.10.2018
11:24:24
+1

Vlad
05.10.2018
11:25:17
Да как угодно) хоть перед маунтом вью



Женя
05.10.2018
11:25:42
Ну прикол в том что авторизован я или нет надо хранить в сторе

Google
Mikhail
05.10.2018
11:25:49
в created() я полагаю)

Vlad
05.10.2018
11:26:04
да куча вариантов

Сергей
05.10.2018
11:27:07
да куча вариантов
https://yadi.sk/i/Agf7v9emAmXkxA

но вот только при пером обращении к странице меня определяет как не авторизованого

а вот потом данные загружены

и при хождении по страницам все номр

Vlad
05.10.2018
11:27:54
ну да, ты сперва монтируешь приложение. потом чекаешь авторизацию

Константин
05.10.2018
11:27:59
Народ хэлп всю голову сломал Проект компилиттся как либа (vue-cli-service build —target lib) - в нем куча компонентов в него надо вкарячит sass модулем (import 'assets/sass/theme.sass') оно вроде как вкарячилось НО vue.config.js у меня по умолчанию и классы на выходе именуются { loader: 'css-loader', options: { sourceMap: false, importLoaders: 2, modules: true, localIdentName: '[name]_[local]_[hash:base64:5]' } }, а мне надо localIdentName: [local] потому что в шаблонах с живым html за пределами вуе преложения они юзаются как это заставить работать как я хочу?

Admin
ERROR: S client not available

Vlad
05.10.2018
11:28:31
вроде можно beforeMount сделать асинхронным

Vlad
05.10.2018
11:28:34
вернуть промис

может вру, щас проверю

Mikhail
05.10.2018
11:29:17
так у тебя в чем проблема ? сначала контент неавторизованного , а потом авторизованный?

Сергей
05.10.2018
11:31:53
так у тебя в чем проблема ? сначала контент неавторизованного , а потом авторизованный?
при первом обращении к странице, не получены данные с сервера о пользователе (в том числе авторизован он или нет)

Mikhail
05.10.2018
11:32:46
Так это понятно,если ты нигде юзера не хранишь. LocalStorage впомощь)

Авторизовал поместил в локалку

а потом что то типо такого



Женя
05.10.2018
11:33:19
уаааа

Google
Женя
05.10.2018
11:33:34
он про локал сторейдж

в браузере

нахер это локал стораге

Mikhail
05.10.2018
11:33:59
А у тебя вариантов больше нету по сути

Vlad
05.10.2018
11:34:04
полно)

Женя
05.10.2018
11:34:14
есть

Vlad
05.10.2018
11:34:16
https://yadi.sk/i/Agf7v9emAmXkxA
скинь этот код не скрином

Сергей
05.10.2018
11:34:17
https://yadi.sk/i/Y_X9Qzu4xXPuEg

Mikhail
05.10.2018
11:34:18
Я не нашел) высслушаю)

Vlad
05.10.2018
11:34:23
в личку можешь, скину вариант

Женя
05.10.2018
11:36:05
Я вчера так сделал, при переходе по роуту вызывается функция которая смотртит тебе в стор: state: isAuth, и если значение null ток делает запрос на сервер и узнает авторизован или нет и сохраняет в стор, а если в сторе isAuth тру или фалсе то уже соответствующее действие делаешь

если нулл то при запросе на сервер за данными авторизации в .then(res => я делаю next() если авторизован или next(/login) если нет

вот 1 из способов

Vlad
05.10.2018
11:36:59
function initApp() { axios.get('/auth') .then(response => { store.commit('getAuth', response.data.user); new Vue({ store, router, render: h => h(App), }).$mount('#app'); }) .catch(... редиректи, или что хочешь делай) } initApp();

Mikhail
05.10.2018
11:37:17
аа а ну окей)

Vlad
05.10.2018
11:38:31
function initApp() { axios.get('/auth') .then(response => { store.commit('getAuth', response.data.user); new Vue({ store, router, render: h => h(App), }).$mount('#app'); }) .catch(... редиректи, или что хочешь делай) } initApp();
Вообще нормальная практика в SPA пускать, только если все ок с авторизацией, иначе редиректить на авторизацию. Я не соединяю эти две страницы

Женя
05.10.2018
11:39:03
я соеденил

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