vue2.7.10原理
文章平均质量分 79
vue源码和实现解析
Young soul2
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从源码看vue(v2.7.10)中的slot的原理
我们在组件里面写的会被渲染成一个对象,该对象里面的参数就是header后面的值,template里面的表达式就是函数返回值,header会被当做函数的key。当渲染到时,会先根据name找到key为header函数,然后将props的值{user:'王哥'}当做参数传给该函数并执行返回一个vnode。原创 2022-10-27 16:45:41 · 722 阅读 · 0 评论 -
从源码看vue(v2.7.10)中的transition组件的原理
transition组件大家肯定都用过,这个组件是Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果,现在我们从源码看看vue是怎么实现的。原创 2022-10-25 22:41:22 · 508 阅读 · 0 评论 -
从源码看vue(v2.7.10)中的v-model(双向绑定)之input的原理
使用v-model会将当前的input设置oninput监听事件将最新的值赋给当前绑定的变量,而且会使用domProps给当前dom设置初始值。最后触发insertd的钩子设置composition事件。原创 2022-10-25 11:33:12 · 1330 阅读 · 0 评论 -
从源码看vue(v2.7.10)中的修饰符的原理
会给当前dom判断添加监听事件,并根据后面的enter去判断触发的事件是否和用户需要的是否相等,一致就会触发函数。原创 2022-10-24 17:10:01 · 404 阅读 · 0 评论 -
从源码看vue(v2.7.10)中的keep-alive的原理
keep-alive组件就是取出内部第一个组件并返回,然后在挂载前放入缓存列表。当有缓存的时候直接拿当前的实例覆盖新的vnode的实例。原创 2022-10-24 10:35:51 · 285 阅读 · 0 评论 -
从源码看vue(v2.7.10)中的自定义指令的原理
bind的执行时机是在被插入到父元素之前执行。insertd的执行时机是当前组件的template下的elm全部完成插入后会放入insertedVnodeQueue队列等待整个组件elm被插入body,然后和组件级的insertd一起触发invokeInsertHook。update的执行是在patchVnode阶段,此时是在更新节点信息前执行,执行完以后再开始元素的一些操作componentUpdated的执行是在执行完元素的操作后执行,并不是指字面的组件更新完毕。原创 2022-10-22 21:32:19 · 796 阅读 · 0 评论 -
从源码看vue(v2.7.10)中的v-bind的原理
前面我们分析了v-model的原理,接下来我们看看v-bind的实现又是怎样的呢?原创 2022-10-21 15:10:49 · 1058 阅读 · 0 评论 -
从源码看vue(v2.7.10)中的v-model(双向绑定)之组件的原理
前几篇文章我们分析了computed、watch以及双向绑定的原理,有了前面的基础我们继续分析v-model的原理。原创 2022-10-20 22:49:47 · 1436 阅读 · 0 评论 -
从源码看vue(v2.7.10)中的watch的原理
watch实现原理原创 2022-10-19 21:28:51 · 552 阅读 · 0 评论 -
从源码看vue(v2.7.10)的computed的实现原理
..}...};// true?}}}};}该方法执行过程在收集依赖部分分析。返回该函数后执行Object.defineProperty(target, key, sharedPropertyDefinition),给当前的vm设置getA响应式。至此设置响应完毕。原创 2022-10-19 16:40:50 · 621 阅读 · 0 评论 -
带你从源码分析vue-loader编译流程
的pitch方法,如果pitch方法都没有返回值,那么将从右往左加载各个loader,同时每个loader的返回值将传递给下一个loader,直到执行完inline-loader上的所有loader。以第一行为例,webpack会返回.App.vue的内容并且再次通过vue-loader,这里和inline-loader不一样,inline-loader会以自己的loader为准,不会被module.rules里面设置的loader正则匹配,而是直接用inline-loader去处理。原创 2022-09-19 14:19:00 · 764 阅读 · 0 评论 -
vue2.7.10在数据发生变化后是如何更新页面的
2.使用$forceUpdate添加当前的vm的watcher并在queue中,最后异步执行flushSchedulerQueue,该函数遍历quene执行watcher的run方法,该方法会执行vm实例的_update方法完成更新。首先触发watcher.before(),该方法是beforeUpdate的hook。1.获取监听文件最新的render和staticRenderFns并赋值给当前的VueComponent和当前vm实例。在callbacks里面放入一个执行回调的函数。原创 2022-10-17 17:28:18 · 1182 阅读 · 0 评论 -
从vue(v2.7.10)源码分析vue是如何收集依赖和触发依赖
定义依赖是什么时候开始的呢?get: noop,set: noop在vm实例中添加了_data对象并将data的数据给了_data。...!return ob;if ((!key: key});shallow?},if (!return;return;else if (!原创 2022-10-19 11:36:51 · 945 阅读 · 0 评论
分享