
Nikolai
08.12.2017
00:58:23
Ну так смену роута я уже перехватил
Вопрос в том, как данные в компоненте поменять
сейчас скину как хотелось бы сделать
router.beforeEach((to, from, next) => {
ThreejsComponent.data.position(to.meta.position)
next()
})

Google

Nikolai
08.12.2017
01:00:02
это вообще норм тема?

Roman
08.12.2017
01:00:20
чет без вуекса сложно

Nikolai
08.12.2017
01:00:38
а вообще хороший тон так делать?
Другого решения особо не вижу
я вообще на vue первый проект делаю ) До этого только игрался с ним

Roman
08.12.2017
01:01:33
ну beforeEach это перед каждым роутом
если у тебя нет роутов где не нужно менять камеру, то мб пойдет

Nikolai
08.12.2017
01:02:17
ну я могу просто позицию не задавать в таком случае
так как чаще всего что то нужно менять
кстати, еще хотелось бы также обращаться к методам компонента

Roman
08.12.2017
01:03:15
не просто дело в том, что beforeEach лежит в рут компоненте. доступ к вуексу есть и с ним достаточно легко это сделать будет

Nikolai
08.12.2017
01:04:15
чувствую я очень круто налеплю )

Roman
08.12.2017
01:04:57
тоесть у тебя есть роуты и в каждом есть компонент threejs?

Google

Nikolai
08.12.2017
01:05:36
https://gleec.com/
ну вот глянь как здесь сделано
да, сайт полностью с threejs

Roman
08.12.2017
01:06:15

Nikolai
08.12.2017
01:06:34
ну как видишь там везде three )

Roman
08.12.2017
01:06:46
а у меня была идея менять роуты по скроллу, но без таких анимаций конечно

Vladislav
08.12.2017
01:07:19
там простенькая анимация?
или у меня барахлит

Roman
08.12.2017
01:07:29
нет, там 3d

Vladislav
08.12.2017
01:07:52
нет там 3д, или "нет, там 3д"

Nikolai
08.12.2017
01:07:54
нет, там 3d
лол, по сравнению с моим 3d там 3d очень простенький )

Vladislav
08.12.2017
01:08:04
можно скрин
плз

Nikolai
08.12.2017
01:08:06

Roman
08.12.2017
01:08:06
ну 3d же все равно)

Nikolai
08.12.2017
01:08:48
Только... Мне интересно на каком таком компе барахлит такой сайт )

Vladislav
08.12.2017
01:09:51
макос
сзади просто фон

Google

Nikolai
08.12.2017
01:10:28
вот это да

Roman
08.12.2017
01:10:30
камера крутиться должна
и вообще там все плавно так
мне не нравится, но на вкус
не люблю такие сайты) перегруженно

Nikolai
08.12.2017
01:10:57
аа у тебя видюха интегрированная наверное же?

Vladislav
08.12.2017
01:11:13
нет

Nikolai
08.12.2017
01:11:17
Тупо вместо powerpoint
нет
ну значит драва не стоят )
http://webglreport.com/

Roman
08.12.2017
01:12:21
в общем с твоей проблемой вероятно не поможет тебе beforeEach

Nikolai
08.12.2017
01:12:28
эх тоже мак хочу

Roman
08.12.2017
01:12:35
надо менять перед переходом на роут

Nikolai
08.12.2017
01:12:39
был бы мак не вляпался бы в этот проект

Roman
08.12.2017
01:13:16
хотя хер знает

Vladislav
08.12.2017
01:13:26
в сафари работает ок
круто смотрится, слушай

Roman
08.12.2017
01:13:32
через to ты можешь добраться до этого компонента на который переходишь
и ему захардкодить в дату чето

Google

Roman
08.12.2017
01:13:47
но это треш какойто выходит

Nikolai
08.12.2017
01:14:05
надо менять перед переходом на роут
ну слушай, проблема то сейчас не в этом ) Я как раз вижу картину как это должно быть, не пойму чего ты прицепился к роуту. Сейчас я меняю роут, срабатывает это событие, пофиг что пока это может не то событие, которое идеально подойдет. Но в данный момент я не понимаю, как поменять состояние компонента с three + вызвать методы этого компонента
у них вот как
{
path: "/instant-messages",
name: "instant-messages",
meta: {
componentName: "app-page-instant-messages",
position: [0, 1, 0],
theme: "dark",
transition: {
enter: 1500,
leave: 1500
},
previousPath: "/",
nextPath: "/secured-calls",
navigationSection: "application",
guideSection: "application",
parallax: !0
}
}
вот например
Соответственно когда роут меняется, он перехватывается. Выполняется переход на роут с таким ури и по сути меняется three


Roman
08.12.2017
01:18:40
я без вуекса хз. а с ним вызываешь мутацию в которую передаешь данные с меты и геттером эти данные добавляешь в компонент three. примерно так
это интересная задачка, но здесь вероятно решит проблему грамотная иерархия компонентов)

Admin
ERROR: S client not available

Nikolai
08.12.2017
01:19:22
я вот у них vuex вроде не вижу

Roman
08.12.2017
01:19:33
а они на vue сделали?

Nikolai
08.12.2017
01:19:35
http://joxi.ru/8AnqWWDUqkObx2
смотри а это не может быть он?
ну явно не на Jquery )

Roman
08.12.2017
01:20:07
никто про jquery не говорил
мб реакт
хз

Nikolai
08.12.2017
01:20:25
ну реакт вроде не очень отличается, там редукс )

Google

Nikolai
08.12.2017
01:21:28
я сначала такой думаю, а че там впринципе делать то, с three не работал, но че такого звезды нарисовать и заставить их летать + на jquery сделаю без проблем =) Но.. не все так оказалось просто

Roman
08.12.2017
01:21:43
ну да, у этих вью

Nikolai
08.12.2017
01:21:48
ну вот еще там playing хранится.. Точно же vuex наверное
где еще playing хранить можно
это же глобальное состояние как раз должно тоже быть

Roman
08.12.2017
01:22:13
и vuex'а не видно..
его нет в app.js

Nikolai
08.12.2017
01:22:28
вот гавнюки хитрые )
может переименовался в сборке

Roman
08.12.2017
01:23:37
а у них сорсы спросить не представляется возможным ? ?

Nikolai
08.12.2017
01:23:56
нет конечно )
это тупо чуваку сайтик понравился и он захотел такой же
не подскажешь еще либу, с помощью которой можно было бы скролл этот на мобилке обработать?
Можно и самому думаю просчитывать по координатам тача, но думаю должно что то удобное быть

Roman
08.12.2017
01:26:25
у меня есть предположение, что у них общий компонент three этот, внутри роуты, и в роутах при переходе эмитится событие которым three получает данные из меты след. роута

Nikolai
08.12.2017
01:28:12
то есть роуты активируют событие, а three их слушает?
хм
ну как вариант да, думаю можно

Roman
08.12.2017
01:29:07
ну да
как я и говорил в beforeRouteLeave, т.к. в нем доступен this и можно заэмитить чето.
но в beforeRouteEnter тоже доступен vm как колбэк в next(), но не уверен что из него эмитить можно, но это не проверенно
я просто не сильно догоняю как работает этот твой three и поэтому точно хз. но если это чисто фон а текст например поверх рендерится другим компонентом, то мой вариант мне кажется должен работать

Nikolai
08.12.2017
01:33:09
хотя если смотреть код, там компонент на компоненте