vue源码目录 vue/src/core/util/next-tick.js nextTick 入参是一个回调函数,这个回调函数就是一个任务 每次接受任务nextTick不会立即执行,而是把它push到callbacks这个异步队列里 检查pending的值,如果为false,意味着“现在还没有一个 ...
转载 2021-10-22 16:35:00
254阅读
2评论
前面我们讲到了_init函数的执行流程,简单回顾下:初始化生命周期initLifecycle初始化事件initEvents初始化渲染函数initRender调用钩子函数beforeCreate初始化依赖注入initInjections初始化状态信息initState初始化依赖提供initProvide调用钩子函数created一共经过上面8步,init函数执行完成,开始mount渲染。初始化状态信
vue
原创 2022-09-28 11:21:56
111阅读
原文链接:https:// 把这些属性全部转为 getter/setter。Obj...
转载 2021-07-28 15:26:40
160阅读
Vue的官方说明里有深入响应式原理这一节。在此官方也提到过:当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。Obj...
转载 2022-04-24 00:40:31
175阅读
序言kube-proxy管理sevice的Endpoints,service对外暴露一个Virtual IP(Cluster IP), 集群内Cluster IP:Port就能访问到集群内对应的serivce下的Pod。 service是通过Selector选择的一组Pods的服务抽象kube-proxy的主要作用就是service的实现。 service另一个作用是:一个服务后端的Pods可能会
在最开始的章节提到过,我们在使用 vue-cli 创建项目的时候,提供了两个版本供我们使用, Runtime Only 版本和 Runtime + Compiler 版本。Runtime Only 版本是不包含编译器的,在项目打包的时候会把模板编译成 render 函数,也叫预编译。Runtime ...
转载 2021-09-28 09:11:00
200阅读
2评论
一般说到vue的数据绑定就是说通过Object.defineProperty方法拦截属性,把data里面每个数据的读写改为getter和setter方法,当数据更新时通
原创 2022-07-11 10:37:01
96阅读
之前介绍过初始化时 Vue 对数据的响应式处理是利用了Object.defifineProperty(),通过定义对象属性 getter 方法拦截对象属性的访问,进行依赖的收集,依赖收集的作用就是在数据变更的时候能通知到相关依赖进行更新。 通知更新 setter 当响应式数据发生变更时,会触发拦截的 ...
转载 2021-09-15 10:30:00
236阅读
2评论
Vue 的 _update 是实例上的一个私有方法,主要的作用就是把 VNode 渲染成真实的 DOM ,它在首次渲染和数据更新的时候被调用。在数据更新的时候会发生新 VNode 和 旧 VNode 对比,获取差异更新视图,我们常说的 diff 就是发生在此过程中。 _update // src/c ...
转载 2021-09-22 09:38:00
269阅读
2评论
例子代码本篇将要讲解domdiff,那么咱们结合下面的例子来进行讲解,这个例子是在上一篇文章的基础上,加了一个数据变更,也就是list的值发生了改变。html中增加了一个按钮change,通过点击change按钮来调用change函数,来改变list的值。例子位于源代码/packages/vue/examples/classic/目录下,下面是例子的代码:javascriptconstapp=Vu
vue
原创 2022-09-28 11:13:27
147阅读
new关键字是实例化一个对象,而Vue实际上是一个类型,类在js中是用Function来实现的 初始Vue源码src/core/instance/index.js 初始Vue的时候调用了this._init(options)方法 function Vue (options) { if (proce ...
转载 2021-10-22 16:46:00
170阅读
2评论
我们都知道Hibernate可以支持多种数据库,这种支持是通过对于不同数据库,配置对应数据库的方言完成的。在早期的Hibernate中,需要通过配置hibernate.dialect参数,指定当前使用的数据库方言。对于需要同时支持多种数据库的产品来说,每切换一个数据库,就要重新配置以下dialect参数会显得很麻烦。于是,DialectResolver工厂类就诞生了。简单的说,DialectRes
转载 2012-09-30 00:56:00
530阅读
2评论
学习使用Vue,Vue的生命周期是无论如何绕不过去的知识点,虽说单组件的声明周期很简单,大家都能理解,但是复杂稍微复杂一点的场景,往往就是因为对生命周期了解不深入,会引发不少bug。目前项目用的还是Vue2.X版本,所以以下的分析都是基于Vue2.X。单Vue组件的生命周期图片来自官网:可以分为四个阶段,共八个钩子函数:创建beforeCreate:实例尚未创建,访问不了this。此时data没有
Vue
转载 2021-02-01 10:12:02
242阅读
在petite-vue中我们通过​​reactive​​构建上下文对象,并将根据状态渲染UI的逻辑作为入参传递给​​effect​​,然后神奇的事情发生了,当状态发生变化时将自动触发UI重新渲染。那么到底这是怎么做到的呢? @vue/reactivity功能十分丰富,而petite-vue仅使用到​​reactive​​和​​effect​​两个最基本的API,作为入门本文将仅仅对这两个API进行
原创 2022-03-29 11:29:25
407阅读
逐行阅读@vue/reactivity的reactive方法
原创 2022-03-22 08:15:37
287阅读
读代码千万不能为了读代码而读代码,什么意思呢,就是不要把读代码当成学习的课程一样,一行一行的,一段一段的,按部就班的看,而是跳跃式的看代码,形成一个功能脉络的记忆在脑海里,然后顺着这个脉络,各个击破,根据经验,要形成一个脉络,最后给自己设定一些问题,带着这些问题去看代码,就像有个线索一样,沿着这些问
转载 2018-05-30 06:51:00
360阅读
2评论
什么是生命周期? Vue的实例具有生命周期,Vue的实例在生成的时候,会经历一
转载 2021-08-03 16:12:00
103阅读
2评论
当我们通过effect将副函数向响应上下文注册后,副作用函数内访问响应式对象时即会自动收集依赖,并在相应的响应式属性发生变化后,自动触发副作用函数的执行。 // ./effect.ts export funciton effect<T = any>( fn: () => T, options?: R
原创 2022-04-30 16:58:15
232阅读
​* 回答面试题的套路​ 1、先说这个点的明确定义,或者是特性;
原创 2022-02-25 18:40:02
83阅读
vue.use 使用及实现原理 Vue.use( plugin ) 参数: plugin: { object | Function} 做什么的? vue全局注册插件的方法 用法 如果插件是一个对象,必须提供 install 方法。如果插件是一个函数,它会被作为 install 方法。install方 ...
转载 2021-10-26 12:39:00
228阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5