zoukankan      html  css  js  c++  java
  • 10丨理解虚拟DOM及key属性的作用





    vue解决jquery的痛点,通过引入一个数据中间层,我们的事件不再直接的操作DOM,而是通过事件改变我们的数据,数据再去映射到我们的真实的DOM。这块功能是由vue的底层帮我们处理的。也就是我们不再直接去操作dom。,数据的更新就会导致dom的更新。

    如何尽可能的高效的去更新我们的dom,操作dom是一件非常消耗性能的事情。
    引入虚拟dom的机制,数据+模板生成一个类似dom的树

    查找两棵树的差别,只比对同层节点。



    c节点变成B和D的子节点。都是重新创建

    发现C节点不在,其实是删除了C节点和下面的EF节点。右边,G节点新建,EF节点也新建。

    理想状态下也是节点的移动,但是算法比较B1和B2节点的时候,它并不知道我们是要移动还是更新,

    引入key




    看demo






    课后习题

    index作为key不仅仅是性能的问题,有些场景会有一些严重的bug



     

    结束

  • 相关阅读:
    【Eclipse导入外部包解决方案】由GoogleMap导入gms包问题引出
    新生活即将开始

    继续我的C旅程
    圣诞后
    新年
    来来回回;不知所云
    吵啊吵啊吵啊
    去海边
    休假结束
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/12790908.html
Copyright © 2011-2022 走看看