миксин, в нем есть метод, который дергается из нескольких компонентов. Этому методу, для того, чтобы он корректно работал, нужны данные из vuex. Я в миксине заюзываю нужные мне mapState и mapActions, инициализирую все необходимые данные, чтобы не нужно было этого делать в каждом компоненте и дублировать код. Все прекрасно работает. Но тут мне говорят, что vuex в миксинах - это плохая практика.
Что посоветуете? Действительно есть смысл отказаться от такого подхода?
Миксины и без Vuex - плохая практика
А дублирование кода в компонентах?
А больше вариантов нет?
Ну а какие тут еще могут быть варианты? 2-я версия.
Если единственное, что делает метод - работа с стейтом стора и его вызов его действий - то можно это перенести в стор
можно поинтересоваться, что за код дублируется?
мапирование справочника и вызов экшена загрузки его из бека (если еще не загружен)
Справочнику у вас разве нужна реактивность?
не обязательно
значит работу с ним включая мапирование можно вынести в простой js модуль и быстрее будет
ну так миксин и есть js-модуль, в него все и вынесено
Миксины нужны для работы с реактивными переменными и привязке к хукам компонента Если это обычные данные, то использование миксинов избыточно
понял, спасибо!
Тогда как лучше организовать связку данных между разными справочниками? Классический случай: в компоненте таблица, в ней одно поле содержит айдишник, нейм по которому нужно доставать из другого набора данных. В миксине у меня была функция, которая принимала айдищник и возвращала нейм, потом это подставлялось в шаблон. Как бы вы такую проблему решили?
Всё это также вынесть в отдельный js модуль и вызывать функцию оттуда из компонент У вас же там никаких computed и watch нет, данные отдаются по запросу только Что мешает?
Ничего не понял. Какой модуль? Что туда выносить?
Модель это просто джс файл
Обсуждают сегодня