Debounce in Vue.js digunakan untuk menunda eksekusi fungsi selama jangka waktu tertentu setelah tindakan pengguna, seperti mengetik, menyeret, dll. Ini biasanya digunakan untuk mengontrol frekuensi panggilan fungsi dan mencegah panggilan berlebihan saat pengguna berinteraksi.
Berikut adalah panduan dasar tentang cara menggunakan debounce di Vue.js:
Instal Lodash Perpustakaan
Pertama, Anda perlu menginstal Lodash perpustakaan untuk menggunakan debounce fungsi tersebut. Gunakan perintah berikut untuk menginstal Lodash:
npm install lodash
Import dan Gunakan Debounce
Di Anda Vue component, import fungsi debounce dari Lodash dan gunakan dalam situasi di mana debounce diperlukan.
<template>
<div>
<input type="text" v-model="searchTerm" @input="handleSearch" />
<div>{{ searchResult }}</div>
</div>
</template>
<script>
import _ from 'lodash';
export default {
data() {
return {
searchTerm: '',
searchResult: ''
};
},
methods: {
handleSearch: _.debounce(function() {
// Handle search here, for example:
// Call search API and update searchResult
this.searchResult = 'Search Result: ' + this.searchTerm;
}, 300) // Debounce time(300ms)
}
};
</script>
Pada contoh di atas, handleSearch
fungsi akan tertunda selama 300 md setelah pengguna mengetikkan input pencarian. Ini membantu menghindari panggilan API yang berlebihan saat pengguna mengetik dengan cepat.
Catatan yang debounce membantu mengontrol frekuensi panggilan fungsi, tetapi juga dapat memengaruhi pengalaman pengguna jika waktunya debounce disetel terlalu tinggi. Pertimbangkan debounce waktu yang tepat untuk setiap kasus penggunaan.