前言在「Vue3」中,创建一个组件实例由 createApp 「API」完成。创建完一个组件实例,我们需要调用 mount() 方法将组件实例挂载到页面中:createApp({
    ...
}).mount("#app");在源码中整个组件的创建过程:mountComponent() 实现的核心是 setupComponent(),它可以分为两个过程:开始安装,它会初始化 props、slo            
                
         
            
            
            
            我们上次学习了vue数据驱动的概念,以及简单的vue怎么知道数据更新,然后采取行动的。今天我们就来继续深入学习,vue怎么把数据和视图给绑定在一起的,数据发生变化,视图怎么会自动发生变化的。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-06-24 00:11:41
                            
                                108阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            
开发vue(或类似的MVVM框架)的过程中,需要面对的主要问题有哪些?剖析vue实现原理,自己动手实现mvvm官网介绍            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-12-23 07:49:00
                            
                                75阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            一、vue架构简介 我们创造的vnode,本质上是一个js对象,所以操作vnode比操作真实dom的lelement元素,要简单很多很多; 通过render函数将template转化为vnode(本质是一个js对象),然后通过渲染器将将vnode转化为真实元素 二、三大系统 第一部分是compile ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-09-23 16:48:00
                            
                                612阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            一、vue架构简介 我们创造的vnode,本质上是一个js对象,所以操作vnode比操作真实dom的lelement元素,要简单很多很多; 通过render函数将template转化为vnode(本质是一个js对象),然后通过渲染器将将vnode转化为真实元素 二、三大系统 第一部分是compile ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-09-23 16:48:00
                            
                                293阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            1. 响应式系统 通过官网的介绍我们知道 Vue.js 是一个MVVM框架,它并不关心视图变化,而通过数据驱动视图更新,这让我们的状态管理非常简单,而这是怎么实现的呢。盗用官网一张图 每个组件实例都有相应的 Watcher 实例对象,它会在组件渲染的过程中把属性记录为依赖,之后…            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-09-08 16:52:57
                            
                                206阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            我们上次分析vue源码讲的是收集依赖,数据变化之后我们把依赖收集到dep类中,通过这个管理器进行管理。里面有一个subs数组,用来            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-07-09 00:44:22
                            
                                116阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Vue 的渐进式设计使得它非常容易上手,在最简单的情况下,我们只需要引入 Vue 的 JS 文件,然后 new Vue() 即可使用声明式渲染。Vue 的文档编写也比较优秀,方便使用者一步一步深入了解 Vue 各个特性的使用。既然如此,为什么我们还需要阅读 Vue 的源码呢,直接看文档学习它的使用不就可以解决问题了吗?这个问题可以从两方面来解答。他山之石 可以攻玉
前端技术的发展非常快,各种类库、            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-11-21 11:18:41
                            
                                85阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言在上篇中我们知道了 Vue 实例初始化时,调用 initState 方法将实例上的属性和方法进行绑定和数据劫持,之后会调用 created 钩子函数,并进入 $mount 挂载阶段。Vue.prototype._init = function(options) {
    // ...
    initState(vm);
    initProvide(vm); // resolve pro            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-01-22 22:58:36
                            
                                433阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            
 
    Face your past without regret. Handle your present with confidence.Prepare for future without fear. keep the faith and drop the fear.
面对过去无怨无悔,把握现在充满信心,备战未来无所畏惧。保持信念,克服恐惧!一点一滴的积累,一点一滴的沉淀,学技            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-10 17:02:15
                            
                                506阅读
                            
                                                                             
                 
                
                             
         
            
            
            
               Vue2 源码阅读(二) new Vue()做了什么
    介绍加载Vue资源后Vue做了哪些事情以及new Vue()做了什么。1. 前言vue版本:2.6.11vue仓库:https://github.com/vuejs/vuevue文档:https://cn.vuejs.org/ 2. 加载Vue在我们调用new Vue()初始化之前,Vue自身做了如下操作:  1) stateMi            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-09-17 17:08:00
                            
                                225阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
               vue-router源码阅读(一) 内部探究
    vue-router源码阅读(一) 内部探究,介绍vue-router的执行顺序,new VueRouter({options})时做了什么,new Vue({ router })内部又做了什么等等。1. 前言vue-router版本:3.3.2vue-router仓库:https://github.com/vuejs/vue-route            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-05-10 21:18:36
                            
                                220阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            所谓虚拟dom,就是用一个js对象来描述一个dom节点,比如下面这个示例:长这个样子,是一个            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-07-16 00:53:09
                            
                                97阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            上一节我们大致看了一下实例化Vue时所做的事情,其中初始化data选项的部分我们跳过了,这一篇我们详细来了解一下。初始化data选项先看一下初始化data的方法:function initData(vm) {  let data = vm.$options.data  // 获取data对象  data = vm._data = typeof data === 'fun            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-06-28 23:55:04
                            
                                122阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            以下面这个十分简单的示例:Vue.component('my-component', {  template: `    <span>{{text}}</span>  `,  data() {    return {      text: '我是子组件'    }  }})new Vue({  el: '#app',  template: `    <div>            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-06-28 23:55:23
                            
                                168阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            编者按:作者Alan Skorkin是一名软件开发人员,他在博客中分享对软件开发相关的心得,其中有很多优秀的文章,本文是其中的另一篇。Alan认为:阅读优秀代码是提高开发人员修为的一种捷径。以下是全文。 我突然想起来,很多程序员都讨厌阅读代码。来吧,承认吧! 每个人都喜欢编写代...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-11-26 09:09:00
                            
                                221阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            [ 系列文章 ]一、Source Insight 简介、常用设置和常用的快捷键 二、Source Insight 工程操作 三、Source Insight 窗口介绍 四、强大的Source Insight查找操作和代码查看 五、Source Insight 插件使用 六、SourceInsight 使用FAQ 一直在使用SI,太过强大,总结了常用的功能,并分门别类,加深印象和使用,系列文章均以S            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-02 17:19:22
                            
                                201阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            阅读Java源码的前提条件:1、技术基础  在阅读源码之前,我们要有一定程度的技术基础的支持。  假如你从来都没有学过Java,也没有其它编程语言的基础,上来就啃《Core Java》,那样是很难有收获的,尤其是《深入Java虚拟机》这类书,或许别人觉得好,但是未必适合现在的你。  比如设计模式,许多Java源码当中都会涉及到。再比如阅读Spring源码的时候,势必要            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-30 15:21:27
                            
                                90阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 源码阅读的流程及步骤
## 引言
源码阅读是提升开发技能和理解代码实现原理的重要方法。对于刚入行的开发者来说,源码阅读可能是一项挑战,但通过合理的步骤和方法,可以更好地理解和应用他人的优秀代码。下面将介绍源码阅读的整个流程,并提供每一步需要做的事情和相关的代码示例。
## 源码阅读流程
```mermaid
journey
    title 源码阅读流程
    section 准备阶            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-01-09 19:02:18
                            
                                63阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1. 前言 之前断断续续读过一部分 JDK 常用类的源码,这里想把过程中的一些心得和方法记录下来,如果能帮到需要的小伙伴就再好不过了!本文主要分享一下我的阅读工具和阅读顺序。PS: 由于当前主流使用的 JDK 版本仍是 1.8,因此源码阅读主要是 1.8 版本,有些地方可以参考 1.7(面试可能问到)。2. 工具 工欲善其事,必先利其器。需要的工具不多,IDE + Google 翻译足够了。使用            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-24 12:57:05
                            
                                59阅读
                            
                                                                             
                 
                
                                
                    