簡介
????????Vue提供了事件綁定的語法糖跟压,我們在標(biāo)簽中可直接使用形如v-on:click擦囊,@click馆类,@focus的形式綁定事件監(jiān)聽器混聊,并且可以使用修飾符對事件進(jìn)行option設(shè)置。本次解釋self修飾符以及self連綴的情況乾巧。
self
????????self 的作用是句喜,只在目標(biāo)Dom是綁定了動作的Dom才觸發(fā)。栗子如下圖沟于。我給2號圖層的捕獲監(jiān)聽與3號圖層的冒泡監(jiān)聽加上self修飾符咳胃。當(dāng)我點擊最里層的a標(biāo)簽時,控制臺會輸出1 3 4 4 2 1 旷太。因為我們本次的目標(biāo)Dom是4號a標(biāo)簽展懈,所以我們綁定在2號與3號的監(jiān)聽在有self修飾時不觸發(fā)。
? ? ? ? 同理當(dāng)我們點擊3號圖層時供璧,控制臺會輸出1 3 3 2 1 存崖。這時,3號是目標(biāo)Dom所以@click.self="log(3)"觸發(fā)了睡毒。
連綴
? ? ? ? vue中事件修飾符時可以連綴的来惧,修飾符的順序有時會影響最終結(jié)果。例如prevent與self組合演顾。如下圖2,圖3供搀。prevent.self與self.prevent產(chǎn)生的結(jié)果是有差距的。self寫在prevent前時钠至,prevent會被self影響葛虐,只有我們直接點擊這個目標(biāo)時才會觸發(fā)prevent。點擊5號通過冒泡傳遞過來時棉钧,self攔截住了監(jiān)聽挡闰,后面的prevent也一起失效了。
? ? ? ? .stop也會因為連綴在self可能失效掰盘。