Выполнить код внутри наблюдателя ползунка диапазона только после того, как я выбрал диапазон, а не постоянно, когда я сдвигаю ползунок? - PullRequest
0 голосов
/ 12 марта 2019

Я сделал функцию, которая следит за изменениями в свойстве диапазона и выполняет новый запрос GET, чтобы получить все прицелы в этом новом диапазоне. К сожалению, я продолжаю получать ошибку Too many requests от API. Я предполагаю, что это потому, что функции выполняются буквально при каждом изменении свойства range, которое будет происходить часто, пока я перемещаю ползунок.

Вот почему я задаюсь вопросом, что я могу сделать, чтобы выполнить функцию только один раз после того, как закончил скольжение ползунка ползунка диапазона?

HTML

<input v-model="range" class='range-input' type="range" min="1000" max="25000" value="10000">

JS

data(){
    return {
        sights: [],
        username: this.$route.params.username,
        city: this.$route.params.city,
        lat: this.$route.params.lat,
        lng: this.$route.params.lng,
        type: 'museum',
        range: 5000,
    }
},
watch: {
    range: function(){
        axios.get('/getSights/' + this.lat + '/' + this.lng + '/' + this.type + '/' + this.range)
        .then(response => {
            this.sights = response.data.result.results
            this.nextPageToken = response.data.result.next_page_token
            console.log(response)
        }).catch((error) => console.log(error));
    }
}

1 Ответ

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

Прослушайте событие изменения, чтобы фактически выполнить запрос.

<input @change="doRequest" v-model="range" class='range-input' type="range" min="1000" max="25000" value="10000">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...