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

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

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使用的事例