@vuejs_ru

Страница 19 из 3900
Иван
08.11.2016
07:56:06
router.beforeEach((to, from, next) => { console.log('beforeEach') next(vm => { console.log('Token') next({ name: 'account' }) // console.log(vm.$auth.getToken()) }) })

Andrey
08.11.2016
08:00:12
так у тебя келбек не срабатвает по какой-то причине.

Иван
08.11.2016
08:06:03
ну вот и я не понимаю почему

если просто делать

Google
Иван
08.11.2016
08:06:28
router.beforeEach((to, from, next) => { console.log('beforeEach') })

это работает

а вот когдахочеш получить доступ к vm через next то уже не работает

Rafkat
08.11.2016
08:12:53
Область видимости?

Иван
08.11.2016
08:16:49
не понял

Rafkat
08.11.2016
08:19:28
vm как объявлен?

Иван
08.11.2016
08:21:48
Vue.use(VueAuth) router.beforeEach((to, from, next) => { console.log('beforeEach') next(vm => { console.log('Token') // console.log(vm.$auth.getToken()) }) }) /* eslint-disable no-new */ const vm = new Vue({ router, el: '#app', template: '<App/>', components: { App } })

Кто-то может с этим помочь?

? ? ? Alex ? ? ?
08.11.2016
09:05:24
прости

но

у тебя

route

объявлен?

Google
Иван
08.11.2016
09:05:34
конечно

сек покажу

const router = new VueRouter({ mode: 'history', routes }) export default router

? ? ? Alex ? ? ?
08.11.2016
09:06:20
короче авторизация твоя работает через jwt

ну суть ее

сорцы то смотрел?

Иван
08.11.2016
09:06:31
неа

тут дело с роутерами

а именно с beforeEach next

router.beforeEach((to, from, next) => { console.log('beforeEach') next(vm => { console.log('Token') }) })

слово Token в консоль не выводит

? ? ? Alex ? ? ?
08.11.2016
09:07:21
при переходе на след роут выводит?

Иван
08.11.2016
09:07:25
нет

? ? ? Alex ? ? ?
08.11.2016
09:07:49
мб не то ты юзаешь? посмотри доку

Иван
08.11.2016
09:07:49
в этом и вопрос

то

http://router.vuejs.org/en/advanced/navigation-guards.html

In-Component Guards

вот это использую

мне нужен просто доступ к vm

Google
Иван
08.11.2016
09:08:51
beforeRouteEnter (to, from, next) { next(vm => { // access to component instance via vm }) }

мб не то ты юзаешь? посмотри доку
Мне главное сдлеать проверку на авторизацию. Если пользователь не авторизован перенаправить его на авторизацию

? ? ? Alex ? ? ?
08.11.2016
09:11:30
я сам недавно впервые авторизацию делал короче

но у меня это в вуексе

лежит

2 основных роута как бы office

Иван
08.11.2016
09:12:03
я тоже по началу так хотел

? ? ? Alex ? ? ?
08.11.2016
09:12:04
и auth

от них суброуты

я так думал

но у меня не рендерит суброуты(

Иван
08.11.2016
09:13:12
странно

Иван
08.11.2016
09:17:58
Вот вроде понял

next(vm работает только beforeRouteEnter

Сергей
08.11.2016
09:18:34
Иван, попробуй через beforeRouteEnter сделать - в текущем проекте использую, проблем нет

Иван
08.11.2016
09:18:57
Сергей вот тольк что тоже это вычитал в доках

Как найду решение для beforeEach сразу отпишусь

Ребята нашол решение

оказалось просто

router.beforeEach((to, from, next) => { console.log('beforeEach') console.log(router.app.$auth.getToken()) next() })

Google
Иван
08.11.2016
10:05:11
вот пример

next(vm)не работает

Вот пример кода с проверкой на авторизацию

router.beforeEach((to, from, next) => { const auth = router.app.$auth const token = auth.getToken() ? auth.getToken() : false if (!token) { return next(false) } next() })

Вот еше нашол библиотеку https://github.com/websanova/vue-auth у нее вижу больше звездочек

Кто-то ей пользуется?

Alex
08.11.2016
12:05:45
Может кто подскажет как правильнее. Есть два компонента. Один вложен в другой. Вот как правильнее во вложенном создавать событие с передачей какой-нибудь инфы, чтобы их услышал родительский компонент? this.$parent.$emit('hash-changed', hash); таким образом? И в родительском в mounted навешивать $on на все возможные события или как?

Иван
08.11.2016
12:06:18
Я лично все через vuex делаю

вроде так удобней

Admin
ERROR: S client not available

Alex
08.11.2016
12:06:53
да вроде бы задачка простая, не хочется городить сложностей накидывая сверху vuex :)

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

просто можно из дочернего и вообще через $parent с длинной цепочкой вызовов и сам метод в родительском компоненте вызвать. Но как понимаю это потом может аукнуться

Иван
08.11.2016
12:08:52
Может еще кто-то знает как такое сдлеать)

Ребята помгите

Как получить доступ к vm внутни

Vue.http.interceptors.push((request, next) => { console.log(vm) });

vue-resource

Сергей
08.11.2016
13:16:52
Так vm не объявленна

Иван
08.11.2016
13:17:28
мне надо получить доступ с vm = new Vue()

Google
Иван
08.11.2016
13:19:23
Сергей где я ее должен обявить?

Сергей
08.11.2016
13:20:17
Пока не понимаю, что именно нужно там получить

Иван
08.11.2016
13:20:42
екземпляр vue

vm

тоже самое что и this

Сергей
08.11.2016
13:21:26
Компонент который вызвал ресурс ?

Иван
08.11.2016
13:21:34
нет

мне нужно внутри получить доступ к vue обекту

Сергей
08.11.2016
13:22:40
Если к глобальному, Можешь сделать import Vue

Vadim
08.11.2016
13:22:43
var vue = new Vue()

?

Иван
08.11.2016
13:23:10
так это уже сделано давно

я спрашиваю как внутри получить

в push

Сергей
08.11.2016
13:23:51
Это для чего нужно ? можно пример ?

Иван
08.11.2016
13:24:02
ладно проехали

Для авторизации

Чтоб передавать токен в запрос

автоматом

Roma
08.11.2016
13:24:30
Не вдаваясь в детали, мб проблема в жирной стрелке? Там контекст вроде не передается

Иван
08.11.2016
13:24:51
вот и я про это подумал

гдето читал про это

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