Saya memiliki kotak input sederhana di template Vue dan saya ingin menggunakan debounce lebih atau kurang seperti ini:
<input type="text" v-model="filterKey" debounce="500">
Namun debounce
properti telah ditinggalkan dalam Vue 2 . Rekomendasi hanya mengatakan: "gunakan v-on: input + fungsi debounce pihak ketiga".
Bagaimana Anda menerapkannya dengan benar?
Saya sudah mencoba mengimplementasikannya menggunakan lodash , v-on: input dan v-model , tetapi saya bertanya-tanya apakah mungkin dilakukan tanpa variabel tambahan.
Dalam template:
<input type="text" v-on:input="debounceInput" v-model="searchInput">
Dalam skrip:
data: function () {
return {
searchInput: '',
filterKey: ''
}
},
methods: {
debounceInput: _.debounce(function () {
this.filterKey = this.searchInput;
}, 500)
}
Filterkey kemudian digunakan kemudian dalam computed
alat peraga.