zoukankan      html  css  js  c++  java
  • Vue3学习-相较于v2的优劣

      有时候我自己都会认为,我v2用的好好的,学个P的v3,然而在投投补习以后,艾玛真香:

      按老师的原话说:vue3比vue2性能快上1.2~2倍!

      接下来就来说说为什么Vue3会比Vue2的性能快上这么多:

        总结大概有四点 ....

          diff算法优化(我总觉得这是一个综述):

            vue2的diff算法思路实现:对比DOM节点,其内容更新,整体重新创建渲染;

              怎么说呢?相当于我想摘个果子吃,找到果子的所在地 我直接把果树砍掉,

              摘下果子吃完后,再重新种上,然后再做回头客。这么一说感觉自己好像了解到了什么;

            vue3的diff算法思路实现:添加patchFlag标识,对比DOM节点时,只对比带有patchFlag的节点;

              这次摘果子的时候,就只需要对果子下手了。

          有图有真相:(李老师画的图)

        

          静态提升 (hoistStatic):

            不参与更新的内容(节点)做 *静态提升*,渲染时直接复用

            既然都已经可以只对果子下手,那就不需要重新种树,直接拿来用就完事了(复用)

          - 事件侦听器缓存(cacheHandlers):

            默认情况下onClick会被视为动态绑定,所以每次都回去追踪他的变化

            vue2:默认拥有静态标识(patchflag)

              但是因为是同一个函数,所以没有追踪变化,直接缓存起来复用即可

            vue3:没有静态标识(patchflag)

              静态标识 往文章开头瞅瞅

          - ssr渲染:

            在学了在学了~

                                                                                              收集自 B站李江南 v3教程(下次一定)

  • 相关阅读:
    Bootstrap中的Dropdown悬停触发
    git常用命令整理
    ThinkPHP-项目模块分组后自定义类库文件放去哪?
    项目开发中常用的PHP实用代码算法
    1049. Counting Ones (30)
    1059. Prime Factors (25)
    1050. String Subtraction (20)
    观察者模式
    策略模式
    JVM剖析
  • 原文地址:https://www.cnblogs.com/chenghuayike/p/14282524.html
Copyright © 2011-2022 走看看