
Иван
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
вот и я про это подумал
гдето читал про это