添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
直接跳到内容

渲染函数 API

h()

创建虚拟 DOM 节点 (vnode)。

  • 类型

    为了便于阅读,对类型进行了简化。

  • 详细信息

    第一个参数既可以是一个字符串 (用于原生元素) 也可以是一个 Vue 组件定义。第二个参数是要传递的 prop,第三个参数是子节点。

    当创建一个组件的 vnode 时,子节点必须以插槽函数进行传递。如果组件只有默认槽,可以使用单个插槽函数进行传递。否则,必须以插槽函数的对象形式来传递。

    为了方便阅读,当子节点不是插槽对象时,可以省略 prop 参数。

  • 示例

    创建原生元素:

    创建组件:

  • 参考 指南 - 渲染函数 - 创建 VNode

mergeProps()

合并多个 props 对象,用于处理含有特定的 props 参数的情况。

  • 类型

  • 详细信息

    mergeProps() 支持以下特定 props 参数的处理,将它们合并成一个对象。

    • class
    • style
    • onXxx 事件监听器——多个同名的事件监听器将被合并到一个数组。

    如果你不需要合并行为而是简单覆盖,可以使用原生 object spread 语法来代替。

  • 示例

cloneVNode()

克隆一个 vnode。

  • 类型

  • 详细信息

    返回一个克隆的 vnode,可在原有基础上添加一些额外的 prop。

    Vnode 被认为是一旦创建就不能修改的,你不应该修改已创建的 vnode 的 prop,而应该附带不同的/额外的 prop 来克隆它。

    Vnode 具有特殊的内部属性,因此克隆它并不像 object spread 一样简单。 cloneVNode() 处理了大部分这样的内部逻辑。

  • 示例

isVNode()

判断一个值是否为 vnode 类型。

  • 类型

resolveComponent()

按名称手动解析已注册的组件。

  • 类型

  • 详细信息

    备注:如果你可以直接引入组件就不需使用此方法。

    为了能从正确的组件上下文进行解析, resolveComponent() 必须在 setup() 渲染函数内调用。

    如果组件未找到,会抛出一个运行时警告,并返回组件名字符串。

  • 示例

  • 参考 指南 - 渲染函数 - 组件

resolveDirective()

按名称手动解析已注册的指令。

  • 类型

  • 详细信息

    备注:如果你可以直接引入指令就不需使用此方法。

    为了能从正确的组件上下文进行解析, resolveDirective() 必须在 setup() 渲染函数内调用。

    如果指令没有找到,会抛出一个运行时警告,并返回 undefined

  • 参考 指南 - 渲染函数 - 自定义指令

withDirectives()

用于给 vnode 增加自定义指令。

  • 类型

  • 详细信息

    用自定义指令包装一个现有的 vnode。第二个参数是自定义指令数组。每个自定义指令也可以表示为 [Directive, value, argument, modifiers] 形式的数组。如果不需要,可以省略数组的尾元素。

  • 示例

  • 参考 指南 - 渲染函数 - 自定义指令

withModifiers()

用于向事件处理函数添加内置 v-on 修饰符

  • 类型

  • 示例