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使用的事例 https://blog.csdn.net/hjhfreshman/article/details/96312343?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242