
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
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

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

Dmitry
05.10.2018
11:11:04

Al
05.10.2018
11:11:07

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

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: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
но вот только при пером обращении к странице меня определяет как не авторизованого
а вот потом данные загружены
и при хождении по страницам все номр

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 сделать асинхронным

Сергей
05.10.2018
11:28:33

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:22

Женя
05.10.2018
11:33:34
он про локал сторейдж
в браузере
нахер это локал стораге

Vlad
05.10.2018
11:33:46

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

Сергей
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
аа а ну окей)

Сергей
05.10.2018
11:38:06

Vlad
05.10.2018
11:38:31

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