日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
一些你可能還不知事件技巧–Vue3更新

Vue事件處理是每個(gè)Vue項(xiàng)目的必要方面。它用于捕獲用戶輸入,共享數(shù)據(jù)以及許多其他創(chuàng)造性方式。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),本溪企業(yè)網(wǎng)站建設(shè),本溪品牌網(wǎng)站建設(shè),網(wǎng)站定制,本溪網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,本溪網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

在本文中,會(huì)介紹基礎(chǔ)知識(shí),并提供一些用于處理事件的代碼示例。它僅包含我認(rèn)為最有用的技巧/方法,要深入了解Vue可以做的所有事情,請查看Vue文檔。

基本事件處理

使用v-on指令(簡稱@),我們可以監(jiān)聽DOM事件并運(yùn)行處理程序方法或內(nèi)聯(lián)Javascript。

 
 
 
 
  1. // v-on 指令
  2. // OR

向父組件發(fā)出自定義事件

任何Web框架中的常見用例都是希望子組件能夠向其父組件發(fā)出事件,這也是雙向數(shù)據(jù)綁定原理。

常見一個(gè)示例是將數(shù)據(jù)從 input組件發(fā)送到父表單。

根據(jù)我們使用的是Options API還是Composition API,發(fā)出事件的語法是不同的。

在 Options API 中,我們可以簡單地調(diào)用this.$emit(eventName, payload),示例如下:

   
 
 
 
  1. export default {
  2.   methods: {
  3.     handleUpdate: () => {
  4.       this.$emit('update', 'Hello World')
  5.     }
  6.   }
  7. }

但是,Composition API 使用方式與此不同。需要在 Vue3 提供的 setup方法使用emit方法。

只要導(dǎo)入context對象,就可以使用與Options API相同的參數(shù)調(diào)用emit。

   
 
 
 
  1. export default {
  2.   setup (props, context) {
  3.     const handleUpdate = () => {
  4.       context.emit('update', 'Hello World')
  5.     }
  6.     return { handleUpdate }
  7.   } 
  8. }

當(dāng)然,我在項(xiàng)目中經(jīng)常使用解構(gòu)的方式來使用:

   
 
 
 
  1. export default {
  2.   setup (props, { emit }) {
  3.     const handleUpdate = () => {
  4.       emit('update', 'Hello World')
  5.     }
  6.     return { handleUpdate }
  7.   } 
  8. }

完美!

無論我們使用Options 還是 Composition API,父組監(jiān)聽的方式都是一樣的。

   
 
 
 

首先,我們可以在模板中使用$ event訪問傳遞的值。

如果在組件 emit 出去方法有傳遞值,我們可以通過兩種不同的方式捕獲它,這取決于我們是使用內(nèi)聯(lián)還是使用方法。

第一種是在模板中使用$event訪問傳遞的值。

   
 
 
 

第二,使用方法來處理事件,則傳遞的值將作為第一個(gè)參數(shù)自動(dòng)傳遞給我們的方法。

   
 
 
 
  1. // ...
  2. methods: {
  3.     inputUpdated: (value) => {
  4.       console.log(value) // WORKS TOO
  5.     }
  6. }

鼠標(biāo)修飾符

下面是我們可以在v-on指令中捕獲的主要DOM鼠標(biāo)事件列表:

   
 
 
 
  1.   @mousedown='handleEvent'
  2.   @mouseup='handleEvent'
  3.   @click='handleEvent'
  4.   @dblclick='handleEvent'
  5.   @mousemove='handleEvent'
  6.   @mouseover='handleEvent'
  7.   @mousewheel='handleEvent'
  8.   @mouseout='handleEvent'
  9. >
  10. Interact with Me!

對于單擊事件,我們還可以添加鼠標(biāo)事件修飾符來限制哪個(gè)鼠標(biāo)按鈕將觸發(fā)我們的事件。有三個(gè): left,right 和 middle。

  
 
 
 
  1.  Left 

鍵盤修飾符

我們可以聽三個(gè)DOM鍵盤事件:

  
 
 
 
  1.    type='text'
  2.    placeholder='Type something'
  3.    @keypress='handleKeyPressed'
  4.    @keydown='handleKeyDown'
  5.    @keyup='handleKeyUp'
  6. />

通常,我們想檢測某個(gè)鍵上的這些事件,有兩種方法可以執(zhí)行此操作。

  1. keycodes
  2. Vue具有某些鍵的別名(enter, tab, delete, esc, space, up, down, left, right)
  
 
 
 
  1.    type='text'
  2.    placeholder='Type something'
  3.    @keyup.enter='handleEnter'
  4. />
  5.    type='text'
  6.    placeholder='Type something'
  7.    @keyup.13='handleEnter'
  8. />

系統(tǒng)修飾符

對于某些項(xiàng)目,我們可能只想在用戶按下修飾鍵的情況下觸發(fā)事件。修飾鍵類似于Command或shift。

在Vue中,有四個(gè)系統(tǒng)修飾符。

  1. shift
  2. alt
  3. ctrl
  4. meta (在mac上是CMD,在Windows上是Windows鍵)

這對于在Vue應(yīng)用程序中創(chuàng)建諸如自定義鍵盤快捷鍵之類的功能非常有用。

  
 
 
 
  1.    type='text'
  2.    placeholder='Type something'
  3.    @keyup.shift.56='createList'
  4. />

在Vue文檔中,還有一個(gè)exact的修飾符,以確保僅在按下我們指定的鍵且沒有其他鍵的情況下才觸發(fā)事件。

  
 
 
 
  1.    type='text'
  2.    placeholder='Type something'
  3.    @keyup.shift.56.exact='createList'
  4. />

事件修飾符

對于所有DOM事件,我們可以使用一些修飾符來更改其運(yùn)行方式。無論是停止傳播還是阻止默認(rèn)操作,Vue都有兩個(gè)內(nèi)置的DOM事件修飾符。

  
 
 
 
  1.  

~ 完,我是刷碗智,我去刷碗了,骨得白~

作者:Fernando Doglio 譯者:前端小智 來源:medium

原文:https://learue.co/2020/01/a-vue-event-hanling-cheatsheet-the-essentials/

本文轉(zhuǎn)載自微信公眾號(hào)「大遷世界」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系大遷世界公眾號(hào)。


文章標(biāo)題:一些你可能還不知事件技巧–Vue3更新
本文路徑:http://www.5511xx.com/article/dhpjsdc.html