2-6: vue双向绑定的原理是什么?
由于 2021 年 vue 已经升级了底层的所使用的API,所以要分版本讲原理
vue2
宏观上:vue2 的底层响应式主要依靠 Object.defineProperty , 做到对,单个数据源数据,存值和取值时,监听其状态的改变,依靠 发布者-订阅者模式,做到的。
vue3
宏观上:vue3 实际上与vue2 做响应式原理的思想上是保持一致的,将其 Object.defineProperty
api 置换成了 Proxy
API 进行处理,
proxy 带来的好处(在vue2中,需要对data 中的每一个数据,进行递归劫持,进行(get,set处理),proxy 是运行时的,它只发生在,你当前需要对其值发生改变时,去响应式处理。所以一上来的性能消耗就没有了。)
其vue3 等同与重写vue2所有的代码,在优化方面下足了很多功夫,其模版的 优化更新,是react 目前jsx 设计太灵活,所不能拥有的
目前vue3 响应式的包单独分离为 @vue/reactivity
它允许被作为一个单独的包,进行使用。
本文作者:林见夕
本文链接:https://www.cnblogs.com/ifon/p/15866556.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步