如果watch中的两个data变量相互调用了,会发生死循环。
watch:{ 'a':{ handler:function(val,oldVal){ if(this.b == 0){ this.b = 1; }else{ this.b = 0; } }, deep:true }, 'b':{ handler:function(val,oldVal){ if(this.a == 0){ this.a = 1; }else{ this.a = 0; } }, deep:true }, }
类似于这样,监听当a
改变了去改变b
,监听当b
改变了去改变a
。
这样的话a和b会一直死循环下去,是在写全选、反选的时候遇到这个问题,当用户勾选全选后,再取消勾选一个条目,全选也会相对应取消勾选,这样就一直死循环下去了。vue
提供了相关的api解决这个问题吗?我在官网没有找到。
ABOUTYOU
相关分类