关于vue的@click传递
新手做項(xiàng)目碰到了需要操作點(diǎn)擊的這個(gè)元素的問題。在Jquery里可以直接$(this)就能解決了,但是在vue里,this被賦予了特殊的含義,這樣做并不可以。所以當(dāng)碰上需要傳遞點(diǎn)擊的這個(gè)元素時(shí),可以用事件傳遞。在@click后面加上事件event。示例如下:
<div @click="test($event)"> </div>然后Vue部分: methods:{test:function(e){$(e.target).addClass("active");} }這樣就可以給div元素點(diǎn)擊時(shí),增添active這個(gè)classname了。
但是在做的時(shí)候,我遇到一個(gè)問題,當(dāng)我點(diǎn)擊的div有多個(gè)內(nèi)容,并不是空的時(shí)候,當(dāng)我點(diǎn)擊了這個(gè)div,實(shí)際傳遞過來的event可能是div的內(nèi)部其他元素,并不是這個(gè)div....這個(gè)問題不知道怎么解決。。所以還是老老實(shí)實(shí)的用了jquery做了這個(gè)函數(shù)
?
?
__________________________________________
問題解決了。。。把target換成currentTarget
下面是網(wǎng)上找的解釋
- target指向,事件最終所作用于的對象
- currentTarget指向,事件定義時(shí)所在的對象
__________________________________________________
項(xiàng)目中還發(fā)現(xiàn)了關(guān)于使用click出現(xiàn)了循環(huán)的現(xiàn)象,經(jīng)過排查后發(fā)現(xiàn),也是由于冒泡的原因。執(zhí)行點(diǎn)擊父元素操作時(shí),內(nèi)部操作不能出現(xiàn)其子元素的繼續(xù)click操作,不然就會(huì)不停地循環(huán)執(zhí)行。
?
總結(jié)
以上是生活随笔為你收集整理的关于vue的@click传递的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021蓝桥杯——直线
- 下一篇: Vue基础语法之@click、时间修饰符