vue提倡的是在方法中只有對數據的處理,所以提供了事件修飾符用於DOM的事件處理,常用的事件修飾符有以下幾個:
(1). stop:阻止冒泡(通俗講就是阻止事件向上級DOM元素傳遞)
點擊內層div的結果:
點擊外層div的結果:
修改代碼,為內層點擊事件添加事件".stop"修飾符:
再次點擊內層div的結果如下:
。
(2). prevent:阻止默認事件的發生
默認事件指對DOM的操作會引起自動執行的動作,比如點擊超鏈接的時候會進行頁面的跳轉,點擊表單提交按鈕時會重新加載頁面等,使用".prevent"修飾符可以阻止這些事件的發生。
此時點擊超鏈接不會進行頁面的跳轉。
(3). capture:捕獲冒泡,即有冒泡發生時,有該修飾符的dom元素會先執行,如果有多個,從外到內依次執行,然后再按自然順序執行觸發的事件。
此時點擊最內層div,結果如下:
多個獲取事件 :
點擊最內層結果:
(4). self:將事件綁定到自身,只有自身才能觸發,通常用於避免冒泡事件的影響
此時點擊最內層:
(5). once:設置事件只能觸發一次,比如按鈕的點擊等。
(6). passive:該修飾符大概意思用於對DOM的默認事件進行性能優化,根據官網的例子比如超出最大范圍的滾動條滾動的。
(7). native:在父組件中給子組件綁定一個原生的事件,就將子組件變成了普通的HTML標簽,不加'. native'事件是無法觸 發的。
此時點擊頁面中的按鈕無任何反應。
添加修飾符:
此時點擊就會彈窗:
可以理解為該修飾符的作用就是把一個vue組件轉化為一個普通的HTML標簽,並且該修飾符對普通HTML標簽是沒有任何作用的。
可參考官方文檔:https://cn.vuejs.org/v2/guide/events.html#%E4%BA%8B%E4%BB%B6%E4%BF%AE%E9%A5%B0%E7%AC%A6