Alex
или вы vuex просто за компанию подключили?)
Aleksei
господибожемой vuex юзается как надо и эта данные использует не один компонент. Просто один из компонентов отдает данные в либу чтобы график отрисовать, а он зачем-то пытается там что-то поменять. Соответственно в мутацию завернуть я это не могу.
Alex
а как вы отдаете данные в график
Aleksei
в data присваивание данных из props и в mounted вызов отрисовки из либы с этими данными
Alex
покажите код, непонятно почему он меняет, там через v-model подключаете что ли?
Serge
Если Либа сторонняя то clone
Alex
да может вместо клона просто v-model -> :value попробовать поменять :)
Aleksei
никаких моделей, либа напрямую с канвой работает.
Alex
ммм
Aleksei
Либа сторонняя, да, собственно к клонированию и пришел
Alex
а копировать из props в data зачем? может сразу props и использовать?
Aleksei
В данном случае одинаковое поведение
Al
я правильно понимаю что мутации синхронны только из-за девтулз, а если они не юзаются, то ничего страшного?
Aleksei
Все равно ссылка
Aleksei
wat? devtool не при чем
Al
в руководстве только об этом написано
Al
по началу вью такой милый и маленький, а чуть серьезнее надо что-то, уже хренова туча обвязок нужна и код приложения кажется в разы меньше чем всего постороннего
Demetrio
Кого постороннего?
Александр
Александр
)
Demetrio
Вью мне мил модульностью - кода много - вынес в компонент и бац бац бац
Demetrio
И в итоге структура приложения понятная и ясная
Flexo
И в итоге структура приложения понятная и ясная
видимо проект маленький) В большом черт голову сломит. А если еще и миксинов понамешано - пиши пропало
Flexo
Может проблема в архитектуре а не во вью?
Ждал этого вопроса) Не исключено
Flexo
Можете подсказать канал где маководы обитают?
Flexo
https://t.me/macos_ru
спасибо!
Nikita
Вообще, я за полгода использования я тоже не совсем понимаю логику вуекс, потому, что иногда хватает просто пройтись мапой по массиву, и вуекс уже не видит модификаций и не жалуется, а иногда плагин какой-то левый меняет переменную и алерт алерт алерт.
Nikita
Но при этом вроде бы тоже было мапой пройдено.
Nikita
я правильно понимаю что мутации синхронны только из-за девтулз, а если они не юзаются, то ничего страшного?
Вообще твое умозаключение ни к чему не приводит. Мутации всегда синхронны, экшены всегда ассинхронны
Nikita
И js не таком уровне, чтоб менять работу в поведении, только изза открытой консоли
Al
И js не таком уровне, чтоб менять работу в поведении, только изза открытой консоли
походу как раз таки из-за консоли всё это, судя по ответам везде
Nikita
Че
Al
https://github.com/vuejs/vuex/issues/42
Al
да потому что в тех же мутациях ничего не мешает впихнуть изменение в асинк колбеке
Nikita
Да, не мешает, но для чего архитектуры то придумывают? Чтоб им следовали.
Nikita
Но я все равно не понимаю, причем здесь девтулс
Al
девтулс не трекает в асинке стейт
Al
поэтому делают синк
Al
лишь для этого такая архитектура, в чем собственно я и убедился после вопроса
Nikita
Да, это называется machine time
Nikita
Хотя не представляю кому нужна она, не разу не юзал.
Nikita
Иногда мне кажется, что и геттеры нахер не нужны.
Al
не ну геттеры понятно зачем, этож общий паттерн для ооп, изменил фильтр в одном месте и везде сразу поменялось
Nikita
Причем тут ооп
Al
смысл в них тот же
Nikita
Лан, у каждого свои тараканы(представления). Но мутации маст хев хотя бы для того, чтоб в разных экшенах одну функцию для изменения юзать.
Al
ну это понятное дело, я про асинхронность спрашивал)
Andy
тут речь зашла, я слышал, про "клонирование объектов”, получается, через JSON.parse(JSON.stringify()) - это самый норм способ склонировать обьект так, чтобы в новый объект не перешли геттеры/сеттеры из исходного обьекта? Есть еще какие-то способы?
Andy
понял)) спасибо
Aleksei
понял)) спасибо
ramda так например делает https://github.com/ramda/ramda/blob/master/source/internal/_clone.js
Николай
Всем привет, только начал разбираться с vue. Подскажите, вот есть у меня допустим <parent><child></child></parent> где мне в коде parent компонента написать где рендерить child? В документации не могу найти
Evgheni
в коде parent: <template> <child></child> </template> <script> import Child from '~/components/child' export default { data () { return {} }, components: { 'child': Child } } </script>
Kate
import Child в родителе и плюс components: { Child }
Evgheni
это если однофайловый компонент с вебпаком, блекджеком и куртизанками
Павел
всем привет! нужен "производственный календарь" на котором можно простым кликом ставить цветную метку на дату
Павел
может видел кто такую фигню?
Николай
Что-то не особо понял я, давайте поясню, что хочу сделать. Я пишу на es5 и шаблоны храню в html, короче не использую cli-набор. Вот, что я хочу сделать https://dumpz.org/2719084/
Николай
И я не пойму, как мне указать, в каком месте parent должен рендерить child-ов. Такое вообще возможно? Или у vue какой-то другой подход к компонентам, я реакт использовал до этого.
Serge
Иногда мне кажется, что и геттеры нахер не нужны.
Если не будет геттеров/сеттеров то как отслеживать изменения то? В след. версии вроде на прокси перепишут как в 16ом реакте
Nikita
геттеры в vuex
Nikita
а не в vue
Serge
Дык подозреваю что и там аналогично за тем же. Подписка на изменения данных хранилища.
Николай
Разобрался, <slot></slot> надо было добавить
Sunlive
геттеры в vuex
а как же красиво их мапить и не городить кучу компьютед в компонентах?)
Nikita
я скажу как у меня, у меня почти 90% геттеров просто делают такое someVar: state => state.someVar
Nikita
и 10% делают полезное типо фильтрацию или мапу (и то мапу особо не поделать, нужно возвращать обьект вообще без ссылок), легче обработать в экшене массив данных
Sunlive
я скажу как у меня, у меня почти 90% геттеров просто делают такое someVar: state => state.someVar
ага, а стейт реактивный сам по себе? ну т.е если не через компьютед, а на прямую обращаться к нему?