kasperskei / test-work

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Примечания

Для изменения цвета у цены использовал кастомную директиву v-watch. Во Vue 2 она позволяла использовать watch в функциональных компонентах. Во Vue 3 смысла в этой директиве гораздо меньше, посколько производительность обычных компонентов не сильно отличается от производительности функциональных компонентов.

Решил написать стор используя средства Vue 3. Для модулей импровизированного стора можно было использовать IoC-контейнер, как это было y Vuex.

Создание экземпляра Intl форматеров - довольно дорогая операция по времени. Поэтому было добавлено кэширование на основе переданных аргументов, чтобы облегчить повторное использование экземпляров. В недавнем обновлении движка V8 уже добавили кэширование под капотом (Почему они не сделали этого раньше?).

В сторе можно хранить данные в Map, чтобы быстрее доставать объекты по ключу. Как выяснилось позднее, Vue 3 в альфа версии иногда некорректно работает с Map.

Стор хранит в себе плоские данные, чем может напоминать реляционную БД. Данные с сторе связаны по ключу, а не по ссылке, из-за этого данные становятся более независимы друг от друга и приложение остается более масштабируемы. В идеале хотелось бы хранить однорожные данные в Map, а не в Array, альтернативой может служить Object в роли хеш-таблицы.

About


Languages

Language:JavaScript 49.0%Language:Vue 39.6%Language:CSS 7.9%Language:HTML 3.5%