vue3 函数

28 阅读1分钟

h()

其实h()createVNode()都是创建dom节点

一般情况下每个vue组件都用<template>html, 但实际还可以在js代码中通过render函数生成dom. 最主要常见组件库也需要配合h使用.

h(标签,{属性},html标签的元素)

第一个参数是必须的。【跟原来的是一样的。没有发生变化】 类型:{String | Object | Function} 一个 HTML 标签名、一个组件、一个异步组件、或一个函数式组件。 是要渲染的html标签。 第一个参数div 是表示创建一个div的元素

第二个参数是可选的。 【第二个参数的格式发生了变化, 现在是一个扁平的 prop 结构】 类型:{Object} 主要是当前html中的各种属性。 在开发时。建议传,实在没有传的时候,传入 null

第三个参数可选的。(第三个参数建议使用函数返回,否者会有警告) 类型:{String | Array | Object} children 虚拟子节点(vnodes),当前html标签的元素。

ps:第三个参数建议使用函数返回。否者在控制有警告 Non-function value encountered for default slot. Prefer function slots for better performance.