Vue学习笔记(四):虚拟DOM和key属性的作用
2019-05-27 本文已影响0人
smartHui
虚拟DOM:同层节点比对
是不同类型的节点,如 分别是span div p 三种类型(B,C,Dmounted)
B,E,F,C,Dmounted ;E,F,Cdestroyed;E,F,Cmounted
B,E,F,C,Dmounted; E,F,Cdestroyed; E,F,Gmounted
三个同类型节点,只是传递的属性不一致(B1、E、F、B2、B3mounted,E、Fmounted,E、Fdestroyed,B1 update,B2 update)
B1,E,F,B2,B3mounted;B2 update
无key:B1,B2,B3mounted,B3mounted,B2update,B4update;有key:B4mounted
问题:为什么不能用index作为key?key帮助提升性能
真正被删除的那个却不是我们想要删除的那个,对于普通元素倒还好,因为都是纯显示的,但如果是自定义组件,而组件内还维护着自己的状态,那么状态就乱了