Roman
Roman
просто bootstrap в npm не смотрел
Vladislav
Bohdan
фигня, у них там каличный экспорт и вебшторм не умеет в него
Bohdan
но пользоваться приходится(
Alex
Andriy
:can-invite="{{$actionResolution['canInvite'] ? 'true' : 'false'}}"
Alex
Омг
Andriy
так заработало)
Alex
Не показывайте это никому
Andriy
Ну я же PHP-шник)
Andriy
в PHP bool преобразуется в число, поэтому пришлось извратитьсЯ)
Alex
А, это ещё и пых намешан там
Anonymous
Andriy
Как зачем?
Роман
Всем привет!
Изучаю тут теоретические концепции vuex и что-то я не понял вот какую вещь:
у нас глобальное состояние и у нас есть компоненты (шаблоны + логика + стили). В компонентах напрямую читаются свойства из глобального состояния: что-то типа this.$store.state.obj.message. Получается что компонент гвоздями (кодом) прибит к определённой структуре хранилища.
Вопрос: как мне переиспользовать компоненты на другой странице своего СПА (иронично звучит) вместе с vuex, если компонент требует чтобы данные для него всегда лежали в одном и том же месте, а это может быть не так?
Роман
я бы ещё на ивентах жил, но они дальше родителя не всплывают, заразы, нужно городить шины.
Vladislav
Роман
скажем у меня есть расписание - просто список, в которы можно добавлять и удалять элементы.
на одной странице нет ничего кроме расписания и я правлю только его (типа шаг мастера).
на другой странице точно такое же расписание находится справа и на странице есть ещё куча всего (типа основной режим работы).
т.е. в первом случае по данным расписание лежит в корне, а во втором на 1 или даже 2 уровня ниже.
Vladislav
R
@Mblkolo тебе нужно переиспользовать существующий компонент но с другим template?
Роман
@Mblkolo тебе нужно переиспользовать существующий компонент но с другим template?
скорее тот же самый темплейт _возможно_ с другой логикой. Пока цеплялся событиями, всё было хорошо, кроме возни. Просто помещаешь свой компонент куда надо и хорошо. Когда начал читать про vuex у меня возникло ощущение, что логика компонента гвоздями прибита к стору. Т.е. решил передвинуть данные в сторе - иди переделывай компонент. Я правильно уловил, или я чего-то не знаю?
R
@Mblkolo т.е. тебе нужен тот же компонент но который будет ссылаться на другое состояние и у которго будет доп. логика?
R
@Mblkolo если это будет одно и тоже хранилище, то один из вариантов это передать в props компонента что-то вроде stateKey, а в компоненте ссылаться на него
this.$store.state[this.stateKey]
R
@Mblkolo или прямо в props передавать
<component :state='$store.state.somthingState'>
Но мне кажеться это не лучшая практика
Роман
хм, с помощью такого способа можно положить в разные поля, но не разную глубину, я правильно понял?
так не сработает
this.$store.state['master']
this.$store.state['main.schedule']
Роман
Роман
спрошу про другому: как обычно справляются с тем, что компонент становится сильно зависимым от стора?
1. никак, всё в порядке
2. делают похожие компоненты под разные сторы
3. стор один вообще на всё приложение и компоненты к нему пришиты и никого это парит
4. ничего ты не понимаешь, Джон Сноу
ℝei
1,4
Vladislav
4
Роман
5. один и тот же компонент никогда не используется в разных строрах или имеет один и тот путь до данных в сторе
Roman
разрабы vuex как бы открыто говорят в доке, что стор должен быть один на все приложение..
Evgeniy
Ребята, в дате компонента есть объект, который надо эмитить при изменении его свойств. если просто на него вотчер повесить - не работает. Как это лучше сделать?
R
@Mblkolo скажем так, store задает правила игры и компонентам приходится им следовать. Т.е. store дает тебе api, именно поэтмоу у него есть кроме состояния еще и геттеры, мутации, действия и т.д.
R
@Mblkolo Если компонент работает с store он уже по факту зависим от него, поэтому не совсем понятно что подразумевается под "сильно зависимым" . Возможно ты имел ввиду работу с конкретным свойством state?
Sunlive
кто пишет на тсе? какие юзаете конфиги для еслинта ну или тслинта?
Sunlive
во вью
Ilya
Всем привет. А есть ли отдельный чатик с резюме фронтендеров, работающих с Вью?)
Роман
Глупо получилось, но я нашёл ответ на свой вопрос в документации :)
Модули стора (да, их таки может быть больше одного) + пространства имён позволяют сделать компонент полностью независимым. Эдакая декомпозиция на более высоком уровне.
https://vuex.vuejs.org/ru/modules.html
Роман
R K спасибо за ответы
Rafael 🌵
Ilya
Роман
ещё вопрос, более приближенный к земле
есть компонент кнопки, простой как тяпка, нужен везде. Я раньше просто кидал событие по клику.
правильно ли я понимаю, что если я решу использовать стор, то у меня 2 пути, чтобы не иметь компонента кнопки под каждое действие:
1. всё так же кидать событие, а родительский компонент пусть сам общается со стором
2. через пропсы запихивать в кнопку мутатор нужно пнуть
верно? какой путь более идеологически верный?
Michail
всем привет! если не сложно - напишите какого крутого frontend-деятеля работающего с vue которого надо позвать на конференцию. (Sarah Drasner, Evan, братья Chopin и тп - не считается)
Eugene
Николаич
Может сталкивался кто? Просто я хз что еще надо
Sunlive
Николаич
Включен на сервере
Yayao
Yayao
Я не могу сказать что это крутые ребята, но я просто даже не знаю кого ещё
Yayao
Если мы не берём в расчет членов самой команды
Michail
Дмитрий
ещё вопрос, более приближенный к земле
есть компонент кнопки, простой как тяпка, нужен везде. Я раньше просто кидал событие по клику.
правильно ли я понимаю, что если я решу использовать стор, то у меня 2 пути, чтобы не иметь компонента кнопки под каждое действие:
1. всё так же кидать событие, а родительский компонент пусть сам общается со стором
2. через пропсы запихивать в кнопку мутатор нужно пнуть
верно? какой путь более идеологически верный?
Оба варианта жизнеспособны, но если ты говоришь про универсальный компонент, который может использоваться и в проектах без хранилища, то первый вариант подходит больше.
Николаич
Что не получится без чего? В Node.js приложении на VPS cors() включен.
Dmitry
Dmitry
С другой стороны, может быть все что угодно )))
Николаич
Беда в том, что к рабочему проекту (бэк на Ruby) доступ есть.
А свое развернул и вот такая вот борода :(
Dmitry
Николаич
Nginx
Dmitry
А у него включен cors?
Николаич
Та я в замешательстве. Запрос только в браузере не работает, через axios
Николаич
Из Rest Client все гуд
Dmitry
Так все правильно )))
Dmitry
Полости админа включить cors в nginx
Николаич
По прямой ссылке захожу - все ОК
Николаич
Добавляю в GET токен и перехожу по ссылке - все норм
Dmitry
Да это не важно, поверь, настройте cors в nginx, и все заработает
Николаич
Ну так а как настроить?
Запрос через axios - ERROR
Запрос через Advanced REST Client - OK
Николаич
Куда еще думать?
Dmitry
Я же говорю, включи cors на стороне nginx
Dmitry
И все заработает
Dmitry
Блин, спать пора, пьяный уже. Если не получится, пиши, завтра помогу.