vue自定義指令摄闸,包裝函數(shù)節(jié)流。

自定義指令的鉤子函數(shù)

Vue 提供了自定義指令的5個(gè)鉤子函數(shù):

  • bind:指令第一次綁定到元素時(shí)調(diào)用妹萨,只執(zhí)行一次年枕。在這里可以進(jìn)行一次性的初始化設(shè)置。
  • inserted:被綁定的元素乎完,插入到父節(jié)點(diǎn)DOM時(shí)被調(diào)用熏兄。
  • update:綁定元素更新時(shí)調(diào)用。
  • componentUpdated:綁定元素與子元素更新時(shí)調(diào)用树姨。
  • unbing:只調(diào)用一次摩桶,指令與元素解綁時(shí)調(diào)用。

鉤子函數(shù)的參數(shù) (即 el帽揪、binding硝清、vnodeoldVnode)。

  • el:指令所綁定的元素转晰,可以用來直接操作 DOM芦拿。
  • binding:一個(gè)對(duì)象挟鸠,包含以下 property:
    name:指令名勒葱,不包括 v- 前綴。
    value:指令的綁定值淮逊,例如:v-my-directive="1 + 1" 中侠坎,綁定值為 2蚁趁。
    oldValue:指令綁定的前一個(gè)值,僅在 update 和 componentUpdated 鉤子中可用实胸。無論值是否改變都可用他嫡。
    expression:字符串形式的指令表達(dá)式。例如 v-my-directive="1 + 1" 中庐完,表達(dá)式為 "1 + 1"钢属。
    arg:傳給指令的參數(shù),可選门躯。例如 v-my-directive:foo 中淆党,參數(shù)為 "foo"。
    modifiers:一個(gè)包含修飾符的對(duì)象讶凉。例如:v-my-directive.foo.bar 中染乌,修飾符對(duì)象為 { foo: true, bar: true }。

項(xiàng)目中 el + binding.value 就夠用了,比如網(wǎng)上搜的一個(gè)例子,函數(shù)節(jié)流指令:

<template>
 <div>
  <el-input
   type="text"
   v-model="text"
   v-debounce="search" showClear
  >
  </el-input>
 </div>
</template>
<script>
 export default {
  name: 'debounce',
  data () {
   return {
    text: '',
    count: 1
   }
  },
  directives: {
   debounce: {
    inserted: function (el, binding) {
       let input =  el.querySelector('input')
     let timer
     input.addEventListener('keyup', () => {
      if (timer) {
       clearTimeout(timer)
      }
      timer = setTimeout(() => {
       binding.value()
      }, 300)
     })
    }
   }
  },
  methods: {
   search () {
   // 實(shí)際要進(jìn)行的操作 axios.get('')之類的
    this.count++
    console.log('count is:' + this.count)
   }
  }
 }
</script>

本來那個(gè)input 是原生元素懂讯,想試試組件el-input支持不 結(jié)果還真支持荷憋,所以看了下組件源碼,結(jié)果這里的el只是input的父元素div!!!el-input沒有做任何操作褐望,而且支監(jiān)聽div的keyup起到節(jié)流效果勒庄,沒有任何問題串前??实蔽? 一臉黑人問號(hào)荡碾。。局装。求大神解釋

為了安全起見 還是綁定給input了玩荠。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市贼邓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌闷尿,老刑警劉巖塑径,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異填具,居然都是意外死亡统舀,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門劳景,熙熙樓的掌柜王于貴愁眉苦臉地迎上來誉简,“玉大人,你說我怎么就攤上這事盟广∶拼” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵筋量,是天一觀的道長(zhǎng)烹吵。 經(jīng)常有香客問我,道長(zhǎng)桨武,這世上最難降的妖魔是什么肋拔? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮呀酸,結(jié)果婚禮上凉蜂,老公的妹妹穿的比我還像新娘。我一直安慰自己性誉,他們只是感情好窿吩,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著艾栋,像睡著了一般爆存。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蝗砾,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天先较,我揣著相機(jī)與錄音携冤,去河邊找鬼。 笑死闲勺,一個(gè)胖子當(dāng)著我的面吹牛曾棕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播菜循,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼翘地,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了癌幕?” 一聲冷哼從身側(cè)響起衙耕,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎勺远,沒想到半個(gè)月后橙喘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡胶逢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年厅瞎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片初坠。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡和簸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出碟刺,到底是詐尸還是另有隱情锁保,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布南誊,位于F島的核電站身诺,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏抄囚。R本人自食惡果不足惜霉赡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望幔托。 院中可真熱鬧穴亏,春花似錦、人聲如沸重挑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谬哀。三九已至刺覆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間史煎,已是汗流浹背谦屑。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工驳糯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人氢橙。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓酝枢,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親悍手。 傳聞我的和親對(duì)象是個(gè)殘疾皇子帘睦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355