vue循環里添加點擊事件,方法執行來兩次


html里嵌套了兩層循環,在處理復選框時,上面的多選生效,單選方法會執行兩次,導致方法不好使

 

 

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

不出所料還是沒好用,我查過相關資料,瀏覽器會有這種情況,用計時器就可以解決,但真機上是不會有這種問題的,所以如果項目只用於瀏覽器遇到這種問題就可以用計時器,原文章是這樣說

 

原文章地址:https://www.jianshu.com/p/970d20d00ee4?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation


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

 

 但是出現了新的問題,在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使用的事例 https://blog.csdn.net/hjhfreshman/article/details/96312343?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM