vue?watch監(jiān)聽觸發(fā)優(yōu)化搜索框的性能防抖節(jié)流的比較
概要
- "實現(xiàn)搜索框防抖功能的方法"
- "搜索框防抖和節(jié)流的區(qū)別及應用場景"
- "如何優(yōu)化搜索框的性能:防抖和節(jié)流的比較"
- "搜索框防抖技術(shù)的原理和實現(xiàn)方式"
- "提升搜索框響應速度的技巧:防抖和節(jié)流的應用"
實例
<template>
<div>
<el-input v-model="search" />
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {
search: '',
timer:null
}
},
watch: {
search: {
handler (newVal, oldVal) {
if (this.timer) {
clearTimeout(this.timer)
}
this.timer = setTimeout(() => {
this.getGoods();
}, 1000)
},
deep: true
}
},
methods: {
getGoods(){
console.log('請求一次')
}
}
}
</script>擴充知識點
什么是防抖
防抖,即短時間內(nèi)大量觸發(fā)同一事件,只會執(zhí)行一次函數(shù),實現(xiàn)原理為設(shè)置一個定時器,約定在xx毫秒后再觸發(fā)事件處理,每次觸發(fā)事件都會重新設(shè)置計時器,直到xx毫秒內(nèi)無第二次操作,防抖常用于搜索框/滾動條的監(jiān)聽事件處理,如果不做防抖,每輸入一個字/滾動屏幕,都會觸發(fā)事件處理,造成性能浪費。
什么是截流
防抖是延遲執(zhí)行,而節(jié)流是間隔執(zhí)行,函數(shù)節(jié)流即每隔一段時間就執(zhí)行一次,實現(xiàn)原理為設(shè)置一個定時器,約定xx毫秒后執(zhí)行事件,如果時間到了,那么執(zhí)行函數(shù)并重置定時器,和防抖的區(qū)別在于,防抖每次觸發(fā)事件都重置定時器,而節(jié)流在定時器到時間后再清空定時器
以上就是vue watch監(jiān)聽觸發(fā)優(yōu)化搜索框的性能防抖節(jié)流的比較的詳細內(nèi)容,更多關(guān)于vue watch監(jiān)聽觸發(fā)防抖的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue3.0 CLI - 2.1 - component 組件入門教程
這篇文章主要介紹了vue3.0 CLI - 2.1 - component 組件入門教程,本文主要的關(guān)注點就是組件,本文通過實例代碼相結(jié)合的形式給大家介紹的非常詳細,需要的朋友可以參考下2018-09-09
vue element upload組件 file-list的動態(tài)綁定實現(xiàn)
這篇文章主要介紹了vue element upload組件 file-list的動態(tài)綁定實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10
vue3中v-for報錯'item'is?of?type'unknown'的
在寫vue3+ts的項目,得到一個數(shù)組,需要循環(huán)展示,使用v-for循環(huán),寫完之后發(fā)現(xiàn)有個報錯,接下來通過本文給大家介紹vue3中v-for報錯?‘item‘?is?of?type?‘unknown‘的解決方法,感興趣的朋友一起看看吧2023-11-11
vue3+vite+electron構(gòu)建項目完整實例代碼
Electron+Vite+Vue3的組合為開發(fā)者提供了一個高效、靈活的跨平臺桌面應用開發(fā)框架,下面這篇文章主要介紹了vue3+vite+electron構(gòu)建項目的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2026-03-03
富文本編輯器quill.js?開發(fā)之自定義插件示例詳解
這篇文章主要為大家介紹了富文本編輯器quill.js?開發(fā)之自定義插件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08

