Ответы пользователя по тегу Vue.js
  • Как изменить значение переменной в экземпляре Vue через функцию onclick?

    polyak-888
    @polyak-888
    Js, React.js, css, frontend
    Привет. Исходя из философии vue как я понял, лучше не делать обработку событий на нативном js. Vue решает все потребности. Если что-то не выходит пересмотри свой код. Из твоего вопроса не совсем понятно что за функция promo10, как она вызывается, на что навешано событие и почему не может быть реализована инструментами vue. И лучше забудь про var, не используй его и не мешай с let и const. Это конечно не ошибка, а скорее вопрос читаемости кода и его опрятности.
    Ответ написан
    Комментировать
  • Как переписать функцию с использованием Promise?

    polyak-888
    @polyak-888
    Js, React.js, css, frontend
    Привет, вижу решение проблемы тремя способами:
    1) getCurrentPosition будет таким
    getCurrentPosition () {
      return new Promise((resolve, reject) => {
        navigator.geolocation.getCurrentPosition(position => {
          resolve(position.coords)
        });
      })
    }

    а mounted таким
    async mounted() {
            this.getCurrentTime()
            const coords = await this.getCurrentPosition()
            this.getCurrentWeather(coords)
            setInterval(() => this.getCurrentWeather(), 2000)
        },

    если this.lat и this.long только нужны для вызова getCurrentWeather в mounted, то и незачем их класть в data
    2) поставить watch this.lat и this.long и как только появится значение вызывать getCurrentWeather
    3) Создать промис (new Promise) и resolve не вызывать сразу а поместить в переменную. Промис поместить в mounted, с await. А переменную с ссылкой на resolve вызвать в getCurrentPosition после того как получил координаты. Так как этот вариант не самый идеальный, код выкладывать не буду. Будет стимул поискать самому))
    Ответ написан
    3 комментария
  • Как массово инициализировать dropdown в vue?

    polyak-888
    @polyak-888
    Js, React.js, css, frontend
    я думаю есть еще вариант использовать директивы
    Ответ написан
    Комментировать
  • Почему в vuetify не работает xs-grid?

    polyak-888
    @polyak-888 Автор вопроса
    Js, React.js, css, frontend
    Все разобрался cols="12" это и есть xs
    Ответ написан
    Комментировать
  • Как для каждой кнопки в цикле задать свой обработчик?

    polyak-888
    @polyak-888
    Js, React.js, css, frontend
    Alex Alex, почти правильно ответил, проблема в том что у тебя один show на все формы, поэтом при клике на одну у тебя раскрываются все. Суть решения в том что ты сделаешь компонент формы и будешь циклом выводить его и тогда у каждой формы будет свой show и, соответственно, открываться будет нужная, а не все
    <div v-for="cat in categories" :key="cat.id">
         <app-form :category="cat" /> //тут весь компонент у которого будет свой show
    </div>

    Можно конечно еще через event.target или ref, но как по мне это уже будет костыль, не самое элегантное решение
    Ответ написан
    Комментировать