vue源码分析(七)—— createComponent
文章目录
- 前言
- 一、createComponent 参数说明
- 二、createComponent 源码详解
- 1.baseCtor的实际指向
- 2.extend 方法
- 3.判断Ctor是否是函数的判断
- 4.installComponentHooks方法
- 5.返回一个带标识的组件 vnode
前言
createComponent文件的路径:
src\core\vdom\create-component.ts
一、createComponent 参数说明

二、createComponent 源码详解
1.baseCtor的实际指向
路径
src\core\instance\init.ts
根据init,ts的初始化中,会把Vue的options合并到vm的options上,所以baseCtor的实际指向 其实是Vue上的options。


2.extend 方法
路径:
src\core\global-api\extend.ts
判断是否是对象,如果是对象执行extend方法返回一个构造函数

3.判断Ctor是否是函数的判断

4.installComponentHooks方法
作用: 安装组件的钩子

installComponentHooks方法详解
5.返回一个带标识的组件 vnode

相关文章:
vue源码分析(七)—— createComponent
文章目录 前言一、createComponent 参数说明二、createComponent 源码详解1.baseCtor的实际指向2.extend 方法3.判断Ctor是否是函数的判断4.installComponentHooks方法5.返回一个带标识的组件 vnode 前言 createComponent文件的路径: src\core\vdom\create-componen…...
vue实现图片分页
本小节学会使用v-show和click 、v-bind,v-bind可以简写为: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…...
Baklib专注:企业数字内容体验与知识管理
随着科技的发展,消费者对数字体验的依赖程度攀升,品牌正面临着越来越大的压力。数字化体验作为当下最热门的话题之一,无论是传统企业还是互联网企业,都在积极探索创新方案和具体措施,从而提高用户的数字化体验…...
C++ 标准库随机数:std::default_random_engine
库头文件 #include <random> // 通过种子值设置随机数生成器 std::default_random_engine rng(seed);// 不设置种子值,使用默认值 std::default_random_engine rng; // 生成一个0到9之间的随机整数 int random_int rng() % 10;// 生成一个0到1之间的随机浮…...
Python requests之Cookie
视频版教程:一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium 在某些需要登录的网站或者或者应用,假如我们需要抓取登录后的内容,技术上本质通过session会话实现。服务器端存会话信息,浏览器通过Cookie携带…...
【嵌入式项目应用】__嵌入式中,映射表的应用例子!
目录 一、嵌入式中的映射表是什么? 二、映射表在串口数据解析中的应用 1. 数据结构 2. 指令、函数映射表 3. 串口解析函数实现 三、映射表在UI设计中的应用 1. 数据结构 2. 函数映射表 3. 定义两个变量保存当前场景和上一个场景 4. 按下Up按键 跳转到指定场…...
react中的useState和useImmer的用法
文章目录 一、useState1. 更新基本类型数据2. 更新对象3. 更新嵌套对象4. 更新数组5.更新数组对象 二、Immer1. 什么是Immer2. 使用use-immer更新嵌套对象3. 使用useImmer更新数组内部的对象 一、useState react中文官网教程 1. 更新基本类型数据 在函数式组件中,…...
Can‘t compile code “launch: program <program_path> does not exist “
StackOverflow上有一个类似的提问 我的情况很特殊,上面的回答没有解决我的问题,最后我发现是我的cpp文件名称为数字开头(类似于1_floy.cpp),把名字里的数字挪到后面就好了。。。。。...
Mac电脑上升级nodejs
第一步,先查看本机node.js版本: node -v 第二步,清除node.js的cache: sudo npm cache clean -f 第三步,安装 n 工具,这个工具是专门用来管理node.js版本的,别怀疑这个工具的名字,…...
基于单片机的太阳跟踪系统的设计
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、设计的主要内容二、硬件电路设计2.1跟踪控制方案的选择2.1.1跟踪系统坐标系的选择2.2系统总体设计及相关硬件介绍…...
V3Det大规模词汇视觉检测数据集与LaRS海上全景障碍物检测数据集
V3Det与LaRS是ICCV2023上发表的数据集工作,规模都比较大,后续有可能会用到,因此记录下来。 V3Det: Vast Vocabulary Visual Detection Dataset Paper: https://arxiv.org/abs/2304.03752 URL: https://v3det.openxlab.org.cn/ 在现实世界中…...
ubuntu(18.04) 安装 blast
1、下载 https://ftp.ncbi.nlm.nih.gov/blast/executables/blast/LATEST/2、解压,配置环境变量 tar zvxf ncbi-blast-2.14.1-x64-linux.tar.gz解压后改名为 blast 配置环境变量,可以不配置 使用的时候直接绝对路径使用 vim ~/.bashrc 将下面添加道最…...
3.2每日一题(定积分求抽水做工问题)
1、画图,把题目的容器画出来:球形容器,半径为R 2、根据容器的形状进行分析: 抽水的实质是不同深度的水抽出去走的位移是不一样的>抽水的过程 : (1)先考虑深度为 x到xdx 的薄层水抽出去做多少…...
c语言基础:L1-063 吃鱼还是吃肉
国家给出了 8 岁男宝宝的标准身高为 130 厘米、标准体重为 27 公斤;8 岁女宝宝的标准身高为 129 厘米、标准体重为 25 公斤。 现在你要根据小宝宝的身高体重,给出补充营养的建议。 输入格式: 输入在第一行给出一个不超过 10 的正整数 N&am…...
<if> 标签中使用了不正确的语法。在 XML 中,<if> 标签不需要使用 <![CDATA[ ... ]]> 将条件语句包装起来。 否则会报错
标签中使用了不正确的语法。在 XML 中, 标签不需要使用 <![CDATA[ ... ]]> 将条件语句包装起来。 否则会报错...
Ubuntu 诞生 19 年
导读2004 年 10 月 20 日,Ubuntu 4.10 正式发布,代号‘Warty Warthog’。 作为 Ubuntu 第一个版本,4.10 问世后立刻受到广大 Linux 用户欢迎。它搭载了当时最新的 GNOME 2.8 桌面环境,以及一系列实用软件,比如 Mozilla…...
JVM进阶(3)
一)什么是垃圾? 垃圾指的是在应用程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾,如果不及时的针对内存中的垃圾进行清理,那么这些垃圾对象所占用的内存空间可能一直保留到应用程序结束,被保留的空间无法…...
Qt QWidget、QDialog、QMainWindow的区别
QWidget QWidget是Qt框架中最基础的窗口类,可以理解为用户界面的最基本单元。QWidget类提供了一个空白窗口,可以通过继承该类来创建自定义的窗口类。QWidget类提供了基本的窗口属性和方法,如大小、位置、标题、图标等。 QDialog QDialog是…...
软考 系统架构设计师系列知识点之设计模式(10)
接前一篇文章:软考 系统架构设计师系列知识点之设计模式(9) 所属章节: 老版(第一版)教材 第7章. 设计模式 第2节. 设计模式实例 相关试题 9. 某软件公司欲设计一款图像处理软件,帮助用户对拍…...
【python爬虫】设计自己的爬虫 1. request封装
通过requests.session().request 封装request方法 考虑到请求HTTP/2.0 同时封装httpx 来处理HTTP/2.0的请求 封装requests # 遇到请求失败的情况时 重新请求,请求5次等待2s retry(stop_max_attempt_number5, retry_on_resultlambda re_data: re_data is None, wai…...
MATLAB图像处理实战:用imfindcircles快速定位硬币边缘(附完整代码)
MATLAB图像处理实战:用imfindcircles快速定位硬币边缘(附完整代码) 在工业检测和医学影像分析中,圆形物体的精准定位往往是关键的第一步。无论是生产线上的硬币质量检查,还是显微镜下的细胞计数,快速准确地…...
Meixiong Niannian与SpringBoot微服务架构
Meixiong Niannian与SpringBoot微服务架构 1. 引言 在当今快速发展的AI应用领域,如何将强大的画图引擎无缝集成到企业级系统中是一个关键挑战。Meixiong Niannian作为一款高性能的AI画图引擎,能够生成高质量的图像内容,而SpringBoot微服务架…...
从乱码到清晰:一位开发者与iText7中文PDF的三年斗争史
从乱码到清晰:一位开发者与iText7中文PDF的三年斗争史 【免费下载链接】itext7-chinese-font 项目地址: https://gitcode.com/gh_mirrors/it/itext7-chinese-font "为什么我的PDF中文又变成方块了?" 这可能是每个Java开发者在处理中文P…...
探索电池2RC等效电路模型:从参数辨识到SOC估计
电池2RC等效电路模型,最小二乘法参数辩识,电池端电压误差小,扩展卡尔曼估计SOC精度高。 有文档,数据,视频,仿真图。在电池研究领域,准确建模和参数估计对于理解电池行为至关重要。今天咱就唠唠电…...
Llama-3.2V-11B-cot效果实测:同一张图不同提问下的CoT推理路径对比分析
Llama-3.2V-11B-cot效果实测:同一张图不同提问下的CoT推理路径对比分析 1. 工具概览与测试目标 Llama-3.2V-11B-cot是基于Meta多模态大模型开发的专业视觉推理工具,特别针对双卡4090环境进行了深度优化。本次测试将聚焦其核心功能——Chain of Thought…...
RTX 4090显卡福利:Qwen2.5-VL-7B-Instruct轻量化部署,支持对话历史管理
RTX 4090显卡福利:Qwen2.5-VL-7B-Instruct轻量化部署,支持对话历史管理 1. 项目概述 Qwen2.5-VL-7B-Instruct是阿里通义千问推出的多模态大模型,专为视觉交互任务优化。本教程将展示如何在RTX 4090显卡上实现该模型的轻量化部署,…...
FRCRN模型结构解析:频域卷积+循环网络如何协同提升信噪比
FRCRN模型结构解析:频域卷积循环网络如何协同提升信噪比 1. 引言:语音降噪的挑战与突破 语音降噪技术一直面临着"既要又要"的难题:既要彻底消除背景噪声,又要完整保留人声细节。传统的降噪方法往往在这两者之间难以平…...
避开这5个坑!VS2019+Doxygen注释实战:从代码规范到HTML文档生成
VS2019Doxygen注释实战:5个典型陷阱与高效解决方案 在C项目开发中,良好的代码文档是团队协作的基石。Visual Studio 2019与Doxygen的组合为开发者提供了强大的自动化文档生成能力,但许多团队在实际应用中常陷入一些看似简单却影响深远的陷阱。…...
MPC模型下四节电池SOC均衡控制技术:全网首发的效果超群解决方案
MPC模型预测控制四节电池SOC均衡 [1]全网首发电池SOC均衡控制,当前领域国内期刊罕有有人发。 [2]效果超群,根据电池均衡路径完美规划均衡电流,电流由大到小,避免均衡后期均衡路径问题。电池均衡这玩意儿听着高大上,说白…...
Python 3.15 JIT为何在Docker中静默禁用?揭开musl libc与libffi-3.4.6 ABI不兼容的致命链
第一章:Python 3.15 JIT 的设计目标与 Docker 场景适配性Python 3.15 引入的实验性 JIT(Just-In-Time)编译器并非追求通用性能提升,而是聚焦于特定高价值场景——尤其是容器化微服务中反复执行的 CPU 密集型工作负载。其核心设计目…...

