Как установить переменную перед (дебазированной) функцией метода в Vue? - PullRequest
0 голосов
/ 07 марта 2019

Как мне установить isLoading = true до , когда функция будет вызвана?Прямо сейчас isLoading является ложным, пока не будет вызвана отклоненная функция ..

<script>
import _ from 'lodash'
export default {
  data: {
     isLoading: false;
  }
  methods: {
    fetch: _.debounce(function() {
      this.isLoading = true;
      // fetch my data
      this.isLoading = false;
    }, 200)
  }
}
</script>

1 Ответ

1 голос
/ 07 марта 2019

Это должно сработать, я думаю:

methods: {
  fetch: _.debounce(function() {
    // fetch my data
    this.isLoading = false;
  }, 200),
  askForData: function() {
    this.isLoading = true;
    this.fetch();
  }
}

Теперь вы звоните askForData всякий раз, когда возникает необходимость в новых данных - я предполагаю, что действие пользователя -. Это устанавливает загрузку в true и вызывает fetch. Поскольку fetch отклоняется, любой другой немедленный вызов fetch не будет запускать еще один http-запрос, но теперь состояние loading обрабатывается правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...