
Vue 源码深入剖析
文章平均质量分 74
Vue 源码深入剖析
静尾
前端开发工程师
展开
-
Vue中vm.$watch的实现原理
文章目录API用法实现思路内部原理 API用法 /** * watch * @params expOrFn {Strng | Function} 监听项 * @params callback {Function | Object} 回调函数 * @params options ? { 配置项 * {boolean} deep 深度监听 * {boolean} immediate 立即执行 * @returns {Function} unwatch 此函数调用后会取消该监听 */ vm原创 2021-09-22 17:47:43 · 547 阅读 · 0 评论 -
Vue中数组的响应式原理解析
目录Vue中数组的响应式原理解析实现思路拦截器将拦截器挂载到数组上收集依赖总结 Vue中数组的响应式原理解析 为何Vue中对象与数组的侦测方式不同?因为数组的一些方法如push、pop等不会触发getter/setter。 为何这些方法不会触发getter/setter?因为这些方法是Array的原型上的方法,并没有在Array本身上面。 如何做?使用拦截器覆盖Array.prototype上的方法,在执行原型上的方法之外做数据的响应式。 实现思路 将数组的原型存到对象arrayMethods中 找到Ar原创 2021-09-14 16:52:32 · 3446 阅读 · 0 评论 -
Vue中对象的响应式原理解析
Vue中Object的变化侦测 JS中有两种方法可以侦听变化: Object.defineProperty —— Vue 2.0使用 Proxy —— Vue 3.0使用 对象封装-Object.defineProperty 使用Object.defineProperty将普通对象封装为可侦听对象 #mermaid-svg-FINaeYKocZfpHDQN .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermai原创 2021-09-14 11:23:59 · 1208 阅读 · 0 评论