[debug]vue中的watch比较容易引发死循环

2017-11-01  本文已影响142人  DeepKolos

Array.indexOf()常常用于某个元素在数组的位置, 但是这里的元素如果是对象的时候就会出问题, 需要引用相等的时候才全等, 无论是 == 还是 ===的时候.

在vue里面的watch比较容易出现隐秘的死循环

笔记.png 笔记2.png

比如这里mutatingValues可以流向currentValue, 然后slotValueChange 如果包含了mutatingValues的修改, 就形成一个死循环了, 关键的控制是valueIndex的值, 然后如果这个定位是使用indexOf的, 那么当使用Object做为元素的时候就会引发死循环了

所以在vue里使用watch还是需要注意一下调用流当中的关键控制, 就像这里的indexOf是否可能有死循环

上一篇 下一篇

猜你喜欢

热点阅读