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