中原富国科技网

源码浅析-Vue3中的13个全局Api

中原富国科技网 0

源码浅析-Vue3中的13个全Api

不知不觉Vue-next的版本已经来到了3.1.2,并使用该媒体机器人从会议中捕获流或将新流注入其中。根据微软描述,最近对照着源码学Vue3的全Api,该套件具有以下特点:开源,边学边整理了下来,且者可以将 Teams 通话和会议直接连接到 Microsoft Azure 上托管的在线工作室通过 SRT 输入和输出音频/视频通过 RTMP 输入和输出音频/视频用于管理提要的 Web 门户示例将订阅源作为业务线应用程序管理的示例会议扩展不过,希望可以和家一起进步。

我们以官方定义、用法、源码浅析三个维度来一起看看它们。

下文是关于Vue3全Api的内容,目前该项目仍是一个预发布项目,家如果有更好的理解和想法,还在中,可以在评论区留言,所使用的应用程序托管的媒体机器人 SDK 和 API 也处于 BETA 阶段,每条我都会回复~

全API

全API是直接在上挂载方法,因此对其代码不提供任何形式的保证。,在中,全API一共有13个。分别是:

createapp返回一个提供应用上下文的应用实例;

h返回一个”虚拟节点;

definecomponent返回options的对象,在TS下,会给予组件正确的参数类型推断;

defineasynccomponent创建一个只有在需要时才会加载的异步组件;

resolvecomponent按传入的组件名称解析 component;

resolvedynamiccomponent返回已解析的Component或新建的VNode;

resolvedirective通过其名称解析一个 directive;

withdirectives返回一个包含应用指令的 VNode;

createrenderer跨平台自定义渲染;

nexttick是将回调函数延迟在下一次dom更新数据后调用;

mergeprops将包含 VNode prop 的多个对象合并为一个单独的对象;

usecssmodule访问 CSS 模块;

version查看已安装的 Vue 的版本号;

createApp

官方定义:返回一个提供应用上下文的应用实例。应用实例挂载的整个组件树共享同一个上下文。

顾名思义,CreateApp 作为 vue 的启动函数,返回一个应用实例,每个 Vue 应用程序都首先使用以下函数创建一个新的应用程序实例,应用程序实例公开的多数方法都返回相同的实例,可以链式调用。例如:

用法

第一个参数: 接收一个根组件选项

第二个参数: 将根 prop 传递给应用程序

源码浅析

GitHub地址:

createApp():56行 - 102行内容 \[1\][2]

ensureRenderer():35 行- 37行内容 \[2\][3]

createRenderer():419 行- 424行内容 \[3\][4]

baseCreateRenderer():448 行- 2418行 \[4\][5]

app._component:174行\[5\][6]

h

官方定义:返回一个”虚拟节点“,通常缩写为VNode:一个普通对象,其中包含向 Vue 描述它应在页面上渲染哪种节点的信息,包括所有子节点的描述。它的目的是用于手动编写的渲染函数;

h是什么意思?根据祖师爷的回复,h 的含义如下:

It comes from the term "hyperscript", which is commonly used in many virtual-dom implementations. "Hyperscript" itself stands for "script that generates HTML structures" because HTML is the acronym for "hyper-text markup language".

它来自术语“hyperscript”,该术语常用于许多虚拟 dom 实现。“Hyperscript”本身代表“生成 HTML 结构的脚本”,因为 HTML 是“超文本标记语言”的首字母缩写词。

其实h()函数和createVNode()函数都是创建dom节点,他们的作用是一样的,但是在VUE3中createVNode()函数的功能比h()函数要多且做了性能优化,渲染节点的速度也更快。

用法

第一个参数:HTML 标签名、组件、异步组件或函数式组件。使用返回 null 的函数将渲染一个注释。此参数是必需的。

第二个参数:一个对象,与我们将在模板中使用的 attribute、prop、class 和、style和事件相对应。可选。

第三个参数:子代 VNode,使用生成,或者使用字符串来获取“文本 VNode”,或带有插槽的对象。可选。

源码浅析

GitHub地址:

h:174行 - 196行 \[6\][8]

defineComponent

官方定义:只返回传递给它的对象。但是,就类型而言,返回的值有一个合成类型的构造函数,用于手动渲染函数、TSX 和 IDE 工具支持

definComponent主要是用来帮助Vue在TS下正确推断出setup()组件的参数类型

引入 defineComponent() 以正确推断 setup() 组件的参数类型;

defineComponent 可以正确适配无 props、数组 props 等形式;

用法

**参数:**具有组件选项的对象或者是一个函数,函数名称将作为组件名称来使用

源码浅析

GitHub地址:源码文件位置[9]

defineAsyncComponent

官方定义:创建一个只有在需要时才会加载的异步组件。

用法

参数:接受一个返回的工厂函数。Promise 的回调应该在服务端返回组件定义后被调用。

源码浅析

GitHub地址:41行- 196行[10]

resolveComponent

官方定义:如果在当前应用实例中可用,则允许按名称解析,返回一个。如果没有找到,则返回接收的参数。

用法

参数:已加载的组件的名称

源码浅析

GitHub地址:

resolveComponent():21行- 27行 \[7\][11]

resolveAsset():62行- 123行 \[8\][12]

resolveDynamicComponent

官方定义:返回已解析的或新创建的,其中组件名称作为节点标签。如果找不到,将发出警告。

用法

参数:接受一个参数:

源码浅析

GitHub地址:

resolveDirective():43行 - 48行内容 \[9\][13]

resolveAsset():62行- 123行[14]

resolveDirective

如果在当前应用实例中可用,则允许通过其名称解析一个。返回一个。如果没有找到,则返回。

用法

第一个参数:已加载的指令的名称。

源码浅析

GitHub地址:

resolveDirective():43行 - 48行内容 \[10\][15]

resolveAsset():62行- 123行[16]

withDirectives

官方定义:允许将指令应用于VNode。返回一个包含应用指令的 VNode。

用法

第一个参数:一个虚拟节点,通常使用创建

第二个参数:一个指令数组,每个指令本身都是一个数组,最多可以定义 4 个索引。

源码浅析

GitHub地址:

resolveDirective():85行 - 114内容 \[11\][17]

createRenderer

官方定义:createRenderer 函数接受两个泛型参数:和,对应于宿主环境中的 Node 和 Element 类型。

用法

第一个参数:HostNode宿主环境中的节点。

第二个参数:Element宿主环境中的元素。

源码解析

createRenderer():419 行- 424行内容 \[3\][18]

baseCreateRenderer():448 行- 2418行 \[4\][19]

nextTick

官方定义:将回调推迟到下一个 DOM 更新周期之后执行。在更改了一些数据以等待 DOM 更新后立即使用它。

源码浅析

GitHub地址:

nextTick():42行 - 48行内容[20]

mergeProps

官方定义:将包含 VNode prop 的多个对象合并为一个单独的对象。其返回的是一个新创建的对象,而作为参数传递的对象则不会被修改。

用法

参数:可以传递不限数量的对象

源码浅析

GitHub地址:

mergeProps():687行 - 712行[21]

useCssModule

官方定义:允许在`setup`[22]的单文件组件[23]函数中访问 CSS 模块。

用法

参数:CSS 模块的名称。默认为

源码解析

GitHub地址:

useCssModule():1行 \- 30行[24]

version

官方定义:以字符串形式提供已安装的 Vue 的版本号。

交换机52v电源怎么找

光猫的灯怎么闪是有网

iphone怎么和ipad分享wifi

摄像头权限怎么关闭

为什么只有顺丰快递停运

韵达快递和邮政快递有什么区别

申通快递上午揽收什么时候

免责声明:文中图片均来源于网络,如有版权问题请联系我们进行删除!

标签:源码 api css