Ответы пользователя по тегу Vue.js
  • Vue-chart-js как убрать фон сетки?

    Athanor
    @Athanor
    Лайк + Решение: не жмись, нажми
    Чтоб отключить сетку достаточно изменить значение
    gridLines: {
      display: true
    }

    =>
    gridLines: {
      display: false
    }

    demo

    UPDATE

    Где прочитать про все свойства?

    vue-chart-js это адаптер библиотеки chart.js для vue, следовательно следует обратиться к документации chart.js конкретно про стили гридлайнов есть здесь
    Ответ написан
  • Как подвесить событие vue?

    Athanor
    @Athanor
    Лайк + Решение: не жмись, нажми
    Все таки подозреваю, что вы неправильно подписывались на событие в родителе. Я вынес ваш компонент в песочницу, подписался в родителе на onplus и onminus и все работает. Демо
    Ответ написан
  • Как сделать обновление объекта внутри массива реактивно?

    Athanor
    @Athanor
    Лайк + Решение: не жмись, нажми
    Ответ написан
    Комментировать
  • Оптимизация vuex?

    Athanor
    @Athanor
    Лайк + Решение: не жмись, нажми
    1. Изменение положения элемента через абсолютное позиционирование работает медленней чем через transform. Попробуйте переделать left/top на transform: translate.
    2. Есть в css волшебное свойство will-change, попробуйте подключить его.
    3. Вам в ответах уже советовали попробовать использовать throttle, это точно стоит сделать, наглядно о том, как это работает и в чем разница с debounce — тут
    Ответ написан
    9 комментариев
  • Почему не обновляются динамические страницы?

    Athanor
    @Athanor
    Лайк + Решение: не жмись, нажми
    Кто выкидывает ошибку 404? vue-router или ваш сервер? Если второе, то вам нужно либо включить hash-mode в вашем vue-router, либо сделать так, чтоб сервер на все запросы, кроме api, отдавал index.html
    Ответ написан
  • Как и когда правильно использовать actions Vuex для API-запросов?

    Athanor
    @Athanor
    Лайк + Решение: не жмись, нажми
    пришел к выводу, что запросы к API надо делать внутри actions Vuex (якобы это best practices). Однако, я совершенно не понимаю, всегда ли это необходимо

    Выносить общение с api слоем в vuex оправдано, когда данные, которые оттуда приходят вы храните в vuex.

    При этом, конечно же, лучше при мутации чего-то на сервере обновлять этот список с сервера, а не пробовать повторить эту мутацию локально.

    Что касается вашего вопроса про то, что vuex выглядит прослойкой: у него изначально другое предназначение, он не обязан полностью содержать актуальные данные из бд, это слой с данными для приложения и нужен он для того, чтоб все общие данные лежали в одном месте.

    PS
    1. добавьте в ваши actions, использующие вызовы API return, иначе при вызове в компоненте они будут возвращать не тот промис, который вы от них ожидаете.
    2. Использование хэлперов mapActions, mapGetters.. позволит сделать общение с vuex в компонентах гораздо симпатичней
    Ответ написан
    1 комментарий
  • При оценке качества кода, на что следует обратить внимание?

    Athanor
    @Athanor
    Лайк + Решение: не жмись, нажми
    • Работу с api лучше вынести в отдельный слой, а уже в компонентах вызывать его методы
    • воздержаться от использования инлайн стилей
    • action: (item) => {
       this.showConfirmDialogDeleteRestaurants(item)
      }
      можно записать как
      action: this.showConfirmDialogDeleteRestaurants
    • диалоговое окно можно вынести в отдельный компонент
    • добавить на v-textarea v-model
    • Разобраться с неймингом — везде рестораны в множественном числе, хотя действие производится над одним рестораном, кроме того, я бы начинал название методов с действия, а не с того, над чем это действие происходит — restaurantsRemove => removeRestaurant. Это позволит быстрей ориентироваться в коде. Так же вам стоит определиться с форматом именования сущностей, у вас сейчас snake_case вперемешку с camelCase. Надо выбрать что-то одно.
    • Такие комментарии над методами не несут никакой пользы, по названию метода и так все это понятно
    • Метод restaurantsAdd выглядит довольно объемным, из него, например, можно попробовать вытащить саму логику отображения тостера
    • Не используйте относительные импорты когда они не нужны. Это позволит вам в будущем гораздо легче делать изменения в структуре вашего приложения.
    Ответ написан
    5 комментариев
  • Как перерендрить html во Vue.js?

    Athanor
    @Athanor
    Лайк + Решение: не жмись, нажми
    Рискну предположить, что переменная usersTable у вас не объявлена в data, поэтому она не является реактивной, поэтому ничего не перерендеривается при ее изменении.
    Ответ написан