野生大熊猫

写了一个错误的代码,导致浏览器直接卡死
这边在用vue写项目的时候,需要两个值相加要必须小于等于100,于是就这样写了 va...
扫描右侧二维码阅读全文
10
2020/10

写了一个错误的代码,导致浏览器直接卡死

这边在用vue写项目的时候,需要两个值相加要必须小于等于100,于是就这样写了

                var leadertopuser = new Vue({
                    'el':"#leadertopuser",
                    data:{
                        leader:0,
                        topuser:0,
                    },
                    watch:{
                        leader:function(val,oldval){
                            console.log(val);
                            console.log("oldval",oldval);
                            if((val+this.topuser)>100){
                                // alert("分佣之和不得大于100%");
                                this.leader = oldval;//就是这行代码
                            }
                        },
                        topuser:function(val,oldval){
                            if((val+this.leader)>100){
                                // alert("分佣之和不得大于100%");
                                this.topuser = oldval;
                            }
                        }
                    },
                })

这边尝试修改这个值的时候,突然发现浏览器点不动了,原因其实也很简单,因为在监听leader和topuser的值的变化,然后在再里面进行他们两个的值的操作,就导致这会重复的去执行而错误。

QQ图片20201010010915.png

解决方案

QQ截图20201010011025.png

将值改为0即可,不使用oldval

Last modification:October 10th, 2020 at 01:10 am
If you think my article is useful to you, please feel free to appreciate

Leave a Comment