首页 > 编程知识 正文

Vue2 diff 算法 和 Vue3 diff算法 区别,vue和react的diff算法

时间:2023-05-05 02:05:35 阅读:233804 作者:2864

vue2 diff算法: diff的意思就是diffrient 不同的意思 vue在生成dom的时候会备份出一份完全相同dom树, 而当数据更新时,dom树会发生变化这时候将备份的dom树和当前渲染的dom树进行对比, 如果发现不同 就重新渲染dom树, 他会查找模板中不同的数据,如果发现数据有不同就重新渲染模板, 但是因为这种机制也给代码运行带来了一些压力 效率低 消耗内存 附上理解图

Vue3 diff 势必会成为流行趋势  在Vue3中diff是找变量判断不同处,如果是一个写死的值,根本不会变, 所以不需要diff判断,变量绑定flag1, 死值是flag,diff只找flag1的判断是否不同,在渲染操作,所以Vue2速度要快v-model 通常使用在表单元素中 他是一个数据双向绑定的指令 也就是说数据改变会更新视图 视图中的数据改变也会影响数据 v-model vue通过observers 利用object.defineProperty()将data中的 所有的数据都添加上了getter/setter方法 vue中的指令又会通过compile去解析模板和vue指令的当然也会解析"{{}}" 当数据发生变化时 可以通过watcher里面的update方法通知compile更新模板 watcher就是用来监听页面数据变化的

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。