vitaly_74
@vitaly_74

Как реализовать данный фильтр и как организовать код?

Добрый день, стоит задача написать фильтр по нескольким полям (более 50), на стороне клиента, когда я говорю на стороне клиента это значит клиент один раз получает данные и вся обработка фильтр ведется уже в его браузере его мощностями.
Данный фильтр я реализовал но сильно наговнокодил, т.к. нет опыта реализаций таких штучек-дрючек. Хоть я и комментировал все функции но все равно длинна файла получилась слишком длинной (1300 строк) что превращается в подобие процедурного кода и никаким ооп это непахнет.
Вопрос: как можно еще реализовать данную задачу, с разделением js файла скрипта на несколько (например, один отвечает за рендеринг, другой за саму логику и т.д.)? есть ли такие возможности у vue.js?
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
по нескольким полям (более 50),

И они явно все неуникальные.
Всего может типов 5 наберется(select/multiselect/string/number/range/datepicker) -> выносите каждый тип в компонент -> код уменьшается в несколько раз.

Чтобы нормально работать с данными берете vuex.
Из вашего большого кода убирается большая часть работы с состоянием, а не через миллион пропсов/data свойств.
Все фильтры соответсвенно тоже работают с vuex, а не через миллион пропсов/data свойств.

Чтобы фильтровать/сортировать данные возможно более лаконично будет выглядеть lodash какой-нибудь, хотя можно и нативно почти таким же количество кода всё это делать.

Этого достаточно чтобы уменьшить ваш код в несколько или больше раз.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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