
Родион
14.09.2018
13:57:36

Илья
14.09.2018
13:57:41
потому что

Google

Kirill
14.09.2018
13:59:07
Всем привет. Решили мы тут начать переписывать один магазин написанные на Rails + Jquery на Vue и встали несколько вопросов. Если не затруднит поделитись опытом у кого может были подобные интеграции.
- Как организовать взаимодействие между компонентами на странице
- Как переиспользовать компоненты на разных страницах если страницы рендерятся изначально на стороне сервера с помощью движка шаблонов из Rails
- какой state manager(vuex, mobx, redux, etc) выбрать чтобы удобно можно было переиспользовать store с разных страниц и компонентов например меню с корзиной везде общие
Спасибо.

Илья
14.09.2018
14:00:38

Kirill
14.09.2018
14:02:18
да мы хотим часть логики делать на Vue потому что сложная логика взаимодействий на страницы постепенно заменяя jquery

Maxim
14.09.2018
14:02:25
Кирилл, я тебе в личку написал, проверь сообщения

Илья
14.09.2018
14:02:40
у меня был такой проект, приготовьтесь к костылям)

Kirill
14.09.2018
14:02:53
к каким ))
вот пытаемся оценить сейчас

Илья
14.09.2018
14:05:53
ну, сама схема простая, создаете сборку фронта чтобы юзать SFC, затем к примеру создаете файлик somePage.js - на ней монтируете компонент
бандл подрубается - детектится нужный адишник и к нему монтируется компонент
и вот так везде надо делать, айдишник прописываете в шаблоне на чем он там у вас

Alex
14.09.2018
14:07:33
проще на нативщину переписать
честно

Google

Alex
14.09.2018
14:07:48
свой компонентики сделать и все

Kirill
14.09.2018
14:08:18
тут такое дело что переписывать все нет смысла нужно новую логику пилить
постепенно убивая что встречается на пути

Илья
14.09.2018
14:08:29
а лучше сделать свой сср на вью с блекджеком и леди, или заюзать нукст как компромисное решение
то что я выше привел как пример - это так сказать от безысходности было, легаси и все такое

Артём
14.09.2018
14:12:43
Попробуйте гем webpacker, ну и про монтирование выше верно написано, используйте однофайловые компоненты.

Kirill
14.09.2018
14:15:02
ага webpacker уже используем
а что по повду взаимодействия компонент между собой ?

Илья
14.09.2018
14:15:40
вьюкс и шина
вьюкс туда тоже можно прикрутить да

Kirill
14.09.2018
14:16:19
типа комбинирования модулей ?

Артём
14.09.2018
14:18:32
Как в гайдах, если взаимодействие родитель-ребенок, то события и v-on. Если независимые компоненты, то через компонент-шину или/и vuex.

Ѵɑsilii
14.09.2018
14:27:24

Александр
14.09.2018
14:30:47

Владимир
14.09.2018
14:31:32
потому что не дестроится компонент

Александр
14.09.2018
14:32:23
а если добавлю watch на роутер это норм, и там удалю?

Владимир
14.09.2018
14:32:43
Я думаю норм

DimenSi
14.09.2018
14:43:12
Потому, что функции разные.
Debounce возвращает каждый раз новую обертку над функцией, а removeEvent удаляет только если совпадение 100%

Kendr
14.09.2018
14:44:20
Сделай функцию которая уже обернута в дебаунс

Google

Kendr
14.09.2018
14:44:23
handleResize

Александр
14.09.2018
14:44:38
спасибо

Norick
14.09.2018
14:54:58
Добрый день, как можно получить доступ к текущему положению каретки, например, в инпуте?

Alexander
14.09.2018
14:56:13
Добрый день. Пока был на React -использовал styleguidist для изолированной разработки компонентов. ЧТо из подобного посоветуете для Vue?

Michael
14.09.2018
15:00:32

Alexander
14.09.2018
15:03:09
scoped styles. Вклчены в сам фреймворк.
Не, я не про то. Я про удобную разработку компонентов. Ты их делаешь, документируешь - и на выходе у тебя сгенеренное приложение-документация с этими компонентами

Michael
14.09.2018
15:03:31
ну или как-то так :D

DimenSi
14.09.2018
15:04:10
Просто пытался добавлять к либе приставку vue вместо реакта или если нет слова реакта
Скорей всего найдешь аналог
React-router => vue-router

Юрий
14.09.2018
15:06:56
https://storybook.js.org/basics/introduction/

DimenSi
14.09.2018
15:09:58

Norick
14.09.2018
15:12:04
у HTMLInputElement ?
спасибо, сейчас попробую

Max
14.09.2018
15:14:37
коллеги, как в store из мутации одного модуля, изменить state в другом модуле, забыл синтаксически как пишется?)

Yan
14.09.2018
15:15:44
Мб глобальные

Google

Леха
14.09.2018
15:16:13
Из мутации никак емнип

Max
14.09.2018
15:16:14

Admin
ERROR: S client not available

Yan
14.09.2018
15:16:31
Не
Вызвать мутацию другого модуля

Max
14.09.2018
15:16:51
из действия через root: true, а в мутации можно изменить state другого?)
ок)
спасибо)

Yan
14.09.2018
15:17:02

Denys
14.09.2018
15:18:25
а так стайлгайдист тоже имеет какую-то поддержку (вроде как)


John
14.09.2018
15:19:05
Попробовал воспроизвести свою ошибку в песочнице. Воспроизвел с точностью наоборот. Сама логика вроде та же.
Суть проблемы. Есть Radio button как отдельный компонент, есть компонент RadioGroup который получает массив возможных значений (options) и итерируя создает несколько Radio.
Несколько Radio можно вывести и через v-for.
Если оба подхода использовать для одной и той же v-model, в песке реактивно не обновляется то что через v-for, у меня локально не обновляется компонент RadioGroup
https://codesandbox.io/s/248l8np7my
Вопрос собственно ЧЯДНТ?
Локально, проверял состояние после рендера при изменении пропсов. Все верно, но dom остается нетронутым
Хм. Просто в v-for забыл в Radio определять checked
https://codesandbox.io/s/248l8np7my Теперь все норм
А что у меня локально ?
Локально такая же проблема была. Всем спасибо ?


Aler
14.09.2018
16:09:51
гайз, натыкался давича на опенсурс либу для вью, что делала богоугодные транзишены между состояниями
не знаю как описать подробнее, но она умеет красиво изменять высоту контейнера
я как последний жмот звездочку репозиторию зажал, а сейчас нужно
https://github.com/guanzo/vue-smooth-reflow вот оно

Google

Rustam
14.09.2018
17:01:45
Мутация это всегда одно действие с данными? Например я могу в одной мутации сначала очистить массив а потом его заполнить или это две мутации

Yan
14.09.2018
17:02:33
У меня есть мутация для пагинации
{current,total}

Rustam
14.09.2018
17:05:05
То есть в одной мутации можно менять разные данные?

Yan
14.09.2018
17:05:29
Ток она один аргумент ловит
Как и все в вуексе

Женя
14.09.2018
17:06:00

Yan
14.09.2018
17:06:50
«Замена»