vue迴圈裡新增點選事件,方法執行來兩次

2022-06-23 21:51:15 字數 1221 閱讀 9253

html裡巢狀了兩層迴圈,在處理核取方塊時,上面的多選生效,單選方法會執行兩次,導致方法不好使

這是js裡的方法,也是上面html裡的兩個方法,我在嘗試列印console時發現執行了兩次,當時不知道因為啥就加了乙個計時器

到此為止我的問題也沒有解決,我就在想會不會是時間冒泡或者是事件委託的問題,我就嘗試了一下,果然好用,方法不會執行兩次了

但是出現了新的問題,在js直接改select的值不生效了,然後我就用到了最近兩天新學的es6的新方法,$set()

這樣就好使了,至此我遇到的問題解決了,如果我上述有什麼問題寫的不對歡迎指正

2021-03-0914:15:55     下面還有彩蛋

關於$set的方法我還有幾句要嘮叨一下,因為自己踩過,雖說問題不大,也希望遇到此篇文章的小夥伴可以少菜個坑

$set()的設定有兩種格式,一是物件的,二是陣列的,傳值方式有所不同,在vue裡如果遇到在js裡賦值html沒有同事響應的就可以試一下這個方法

object 賦值  

$set(obj,'select',value)
obj 是要改變的對像

selsct是要改變當前的屬性

value 是給當前屬性賦值

陣列賦值
$set(arr,'0',val)
arr 是要改變當前的陣列

0  是陣列的小標 

val 是要賦的值

這個是我之前遇到的問題在別的地方看到的,現在找不到原位址了,他那裡寫的很全面,之後再有遇到會補充

關於set使用的事例

給UIImageView新增點選事件

uiimageview imageview1 uiimageview alloc initwithframe cgrectmake 125,50,229,229 imageview1 setimage uiimage imagewithcontentsoffile path imageview1.u...

vue router link 上新增點選事件

根據vue2.0官方文件關於父子元件通訊的原則,父元件通過prop傳遞資料給子元件,子元件觸發事件給父元件。但父元件想在子元件上監聽自己的click的話,需要加上native修飾符。所以如果在想要在router link上新增事件的話需要 click.native這樣寫 router link to...

(二)AS給button新增點選事件

三種方法給button新增點選事件 一 通過button的id,新增繼承view.onclicklistener的監聽實現 button android id id btn button2 android text 按鈕2 android layout width match parent andr...