169 похожих чатов

Добрый вечер! Хотел с вами посоветоваться. Есть админка. Как правильно огранизовать

архитектуру? есть vuex хранилище и миксин для выноса одинаковых операций из крудов. я прочитал что action в vuex служит для вызова мутаций, если каждое выносить в мутацию, будет много кода. Какие бы вещи вы вынесли в миксин, и как организовали бы в сторадже экшены и мутации? Зврвнее спасибо за советы!

12 ответов

28 просмотров

как делаю в админках 1) стараюсь не использовать миксины 2) actions обычно являются асинхронными, делают запросы к API, вызывают мутации

gri-gvandri Автор вопроса
✙ Nikita 🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
как делаю в админках 1) стараюсь не использовать м...

слышал такое мнение про миксины, но я так понимаю это как трейты на бэке, поидее они свою функцию выполняют, почемуму это видимо считается дурной практикой, хотя можно сильно упростить админку с помощью них. Метод на скрине вы бы где реализовывали?

gri-gvandri Автор вопроса
✙ Nikita 🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
как отдельный компонент?

это метод который нужен в разных компонентах, поэтому я воот предположил что это в сторадже или имксине должно быть

gri gvandri
это метод который нужен в разных компонентах, поэт...

почему не вынести загрузку файлов в отдельный нормальный компонент?

gri gvandri
screenshot слышал такое мнение про миксины, но я так понимаю ...

Миксины считаются плохими из-за их неявности, не видно, что откуда и как берётся, потенциальных конфликтов имён и большого риска сделать запутанный код. Часто можно обойтись без них. Но то, что на скрине, не может быть связано с миксинами. Миксины - это переиспользуемый кусок описания компонента, а на скрине стор. Хотя почему-то на скрине идёт обращение к this к экшине, которого нет. То, что на скрине, можно улучшить как минимум, вынеся всю работу с API в отдельные модули, чтобы стор не занимался работой с HTTP API, а занимался только управлением глобального состояния. Если в админке есть много мест с одинаковой работой с API / стором, например, одинаковый CRUD для разных сущностей, можно делать фабрики, которые делают эти модули

gri gvandri
это метод который нужен в разных компонентах, поэт...

у меня лично есть ImageUploader.vue со слотом, где я могу любую кнопку поставить а он уже загрузит файл, проверит все ошибки и .тд.

Grigorii K. Shartsev
Миксины считаются плохими из-за их неявности, не в...

> API в отдельные модули, чтобы стор не занимался работой с HTTP API, а занимался только управлением глобального состояния. но модули будет стор же сам вызывать, верно?

Grigorii K. Shartsev
Миксины считаются плохими из-за их неявности, не в...

А фарбики можно сделать банально как функцию которая возвращает например стор модуль с необхдимыми геттерами, екшеными и стейтом?

gri-gvandri Автор вопроса
Grigorii K. Shartsev
Миксины считаются плохими из-за их неявности, не в...

про модули вы упомянули вы имеете ввиду это https://next.vuex.vuejs.org/guide/modules.html?

gri gvandri
про модули вы упомянули вы имеете ввиду это https:...

Модули в широком смысле. И ES модули, и модули стора

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта