vue3 h函数使用图文教程

news2024/10/7 14:31:57

序:

        1、官方文档地址===》渲染函数 & JSX | Vue.js

        2、博主微信公众号:“程序员野区”,关注公众号回复“加群,可以进到博主微信群

正文:

        别恐惧啊,别一看官方api那边标注的 是进阶api就跳过去,这玩意好用呀

         简单以一句话,他就是一个createElement(创建节点),

         举个例子:如果你接触过JQuery,那就好办了,你看看下面jquery代码

var str="<a href='#'>111<a>"
$(str).html("22")

看的懂吗,上面是jquery代码,把这个字符串变成一个虚拟dom节点,然后把这个节点的内容111,变成22,而$(str),就是把一个字符串dom节点化。

一、简单的h()案例

代码部分

<template>
    <btn/>
</template>
<script setup lang="ts">
    import {h} from "vue"
import { $ } from "vue/macros";
    const btn=()=>{
        return h("div",{class:"c_blue"},"你好啊")
    }
</script>

浏览器部分

f12元素审查部分

 

 看明白了吗。

h后面第一个参数就是要创建成什么元素标签,你也可以span,也可以a标签。

第二个参数就是这个标签有什么属性,比如我给div 加一个data-id就可以这么写

const btn=()=>{
        return h("div",{"data-id":"1",class:"c_blue"},"你好啊")
    }

 第三个属性就是内容要显示啥文字了,当然,如果你的文字是先处理过才显示的,看我下面的代码

const btn=()=>{
        return h("div",{"data-id":"1",class:"c_blue"},{default:()=>{return 1==1?"1111":"2222"}})
}

看懂看吗,是可以以函数return形式返回的。

二、h()怎么在div下面再拼节点

<template>
    <btn/>
</template>
<script setup lang="ts">
    import {h} from "vue"
import { $ } from "vue/macros";
    const btn=()=>{
        return h(
            "div",
            {
                "data-id":"1",
                class:"c_blue"
            },
            [
                h("span","你好"),
                h("a",{href:"#"},"不好")
            ]
        )
    }
</script>

 

 看明白了吗,其实h()博主理解是有函数重载的,也就是不用配置属性,直接设置返回的文字,像这样嵌套下去,你是不是可以嵌套好多子集,

博主写的很简单了,靠你悟性啦!接下去说说第三点

四、传值

 

 好下面代码就是看你们的悟性

<template>
    <btn c="c_blue" b="标题"/>
</template>
<script setup lang="ts">
    import {h} from "vue"
    import { $ } from "vue/macros";
    const btn=(obj)=>{
        debugger
        return h(
            "div",
            {
                class:obj.c,
                "data-tit":obj.b
            },
            "你好啊"
        )
    }
</script>

对了 属性那边你是可以onClick那些事件都可以写哦,也可以断点进来哦。

五、扩展

        1、他有什么好处,我提一个点你估计就知道了,他可以封装在你的.ts的文件,你写通用组件也不用单独一个.vue(因为有些组件确实就是很简单,一个充值功能弹窗有时候就一个message包一个h("input")),

        2、他也可以拿来放动态组件里

<template>
     <component :is="btn" c="c_blue" b="标题"></component>
    <!-- <btn c="c_blue" b="标题"/> -->
</template>
<script setup lang="ts">
    import {h} from "vue"
    import { $ } from "vue/macros";
    const btn=(obj)=>{
        debugger
        return h(
            "div",
            {
                class:obj.c,
                "data-tit":obj.b
            },
            "你好啊"
        )
    }
</script>

你就说好不好用吧。

对了记得去关注博主的微信公众号:“程序员野区”

博文原创,且看且珍惜吧,毕竟都35了,不定能在写几年博客,所以本博文如果对你有帮助,记得也去关注下博主的公众号,公众号菜单有好东西。信则有

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/767627.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1ll大学学生信息管理系统系统_学院管理_查询新增或修改删除标准接口_

目录 修订版本 1. 目的 2. 阅读人员 3. 参考文档 ll大学学生信息管理系统系统_学院管理_查询新增或修改删除标准接口 4.1 接口概述 4.2 接口名称 4.3查询学院信息接口标准 4.4新增学院信息接口标准 4.5修改学院信息接口标准 学生信息管理系统系统_学院管理_查询新增或…

【unity细节】分不清楚__世界坐标,自身坐标,Vector3,transform和translate?

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 收录于专栏&#xff1a;unity细节和bug ⭐世界坐标系transform和自身坐标Trasform.local和Vector3⭐ 文章目录 ⭐世界坐标…

__builtin_return_address函数

文章目录 一、gcc 内置函数二、__builtin_return_address2.1 简介2.2 代码示例 三、查看函数调用参考资料 一、gcc 内置函数 GCC 内置函数是指 GCC 编译器内置的一些函数&#xff0c;这些函数可以用于实现一些常用的操作&#xff0c;如数学运算、字符串处理、内存管理、调试等…

如何创作小红书化妆品文案,技巧分析!

小红书拥有众多女性用户群。美妆自然成为里面最大的板块&#xff0c;所以不管是护肤品牌&#xff0c;还是相关达人都会进行化妆品类的文案创作。今天从两个方案来探讨下如何创作小红书化妆品文案&#xff0c;技巧分析&#xff01; 一、对品牌输出文案的重点 1. 强调产品特点 向…

牛客周赛 Round 3

游游的7的倍数 思路分析 添加一个数让其为7的倍数。倍数&#xff0c;每7个中必有一个是7的倍数&#xff0c;在末尾添加一个数即可.遍历0-6&#xff0c;满足既可。 时间复杂度 O&#xff08;1&#xff09; 代码 #include<bits/stdc.h> using namespace std; using ll…

毫秒级的 Unix 时间戳,将其转换为日期时间格式,报错,“将 expression 转换为数据类型 int 时出现算术溢出错误”

如果您有一个时间戳值为 1689217823000&#xff0c;表示毫秒级的 Unix 时间戳&#xff0c;您可以将其转换为日期时间格式。在 SQL Server 中&#xff0c;可以使用 DATEADD 和 CONVERT 函数来进行转换。 以下是将该时间戳值转换为日期时间格式的步骤&#xff1a; DECLARE timest…

从零开始学习 Java:简单易懂的入门指南(一)

Java基础语法 1. 人机交互1.1 什么是cmd&#xff1f;1.2 如何打开CMD窗口&#xff1f;1.3 常用CMD命令1.4 CMD练习1.5 环境变量 2. Java概述1.1 Java是什么&#xff1f;1.2下载和安装1.2.1 下载1.2.2 安装1.2.3 JDK的安装目录介绍 1.3 HelloWorld小案例1.3.1 Java程序开发运行…

【矩阵的基本操作】——MatLab基础

目录索引 矩阵的基本操作&#xff1a;转置&#xff1a;矩阵的拼接&#xff1a;*横拼&#xff1a;**竖拼&#xff1a;* 矩阵的索引&#xff1a;取元素&#xff1a;*end():* 取区域&#xff1a;逻辑判断&#xff1a;逻辑取值&#xff1a;find()&#xff1a; 矩阵的基本操作&#…

基于net core2.2的redis秒杀+数据持久化+数据恢复系列(2)

第一篇我们总结了秒杀的整个流程&#xff0c;本篇我们详细介绍下redis的秒杀实现&#xff0c;基于.net core2.2开发。 首先&#xff0c;需要安装redis&#xff0c;因为我在本地测试的&#xff0c;所以安装的windows版本的redis。redis分为服务端和客户端&#xff0c;这个redis…

了解Azido TAT,使用铜催化的叠氮化物反应修饰Tat肽,以下内容查看详细信息!

资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ 【产品描述】 Azido-TAT中Tat肽已被证明具有优异的细胞穿透性&#xff0c;可以增强对特异性靶向疾病的诊断和 寡核苷酸的吸收。寡核苷酸通过点击化学与Tat&#xff08;一种生物学上重要的细胞穿透肽&#xff09;的共价连接…

❤ npm install 时报Error: spawn git ENOENT

❤ npm install 时报Error: spawn git ENOENT 原因&#xff1a; 主要是因为由于 git 的环境变量未设置导致&#xff0c;所以安装一下git 的环境变量就O了&#xff0c;步骤如下&#xff1a; 设置 >> 系统 >> 高级系统设置 >> 高级 >> 环境变量 >&g…

编写软件测试用例的方法,你知道多少种

1、等价类划分法 适用场景&#xff1a; 有数据输入的地方&#xff0c;就可以使用等价类划分法。如&#xff1a;输入框 测试思想&#xff1a; 从大量数据中划分范围&#xff08;等价类&#xff09;&#xff0c;然后从每个范围中挑选代表数据&#xff0c;这些代表数据要能反应…

株洲科能冲刺上市:计划募资约6亿元,实控人为赵科峰、唐燕夫妇

7月17日&#xff0c;上海证券交易所披露的信息显示&#xff0c;已对株洲科能新材料股份有限公司&#xff08;下称“株洲科能”&#xff09;发出问询函。据贝多财经了解&#xff0c;株洲科能于2023年6月21日递交招股书&#xff0c;准备在科创板上市。 本次冲刺科创板上市&#x…

springboot+mybatis-plus实现自动建表

好长时间没输出了&#xff0c;最近工作上也是太多事&#xff0c;领导动不动就拍脑门&#xff0c;那叫一个酸爽~ 工作能力的提现不但是技术或解决问题的能力上&#xff0c;还体现在要能立刻满足领导的各种需求&#xff0c;不管是哪方面的需求&#xff0c;这样才能够拍上马屁&…

IDDR和ODDR

IDDR D&#xff1a;输入双倍速率数据&#xff08;IOB输入&#xff0c;且数据在时钟的上升沿和下降沿都会发生切换&#xff0c;即一个时钟周期发送2bit数据&#xff09; CE&#xff1a;时钟使能信号&#xff08;高有效&#xff09; C&#xff1a;时钟信号 S&#xff0c;R&#x…

STM32F4_串口 IAP

目录 前言 1. IAP简介 2. APP程序起始地址设置方法 3. 中断向量表的偏移量设置 4. 如何在MDK中生成 .BIN 文件 5. APP程序生成步骤 前言 IAP&#xff0c;即在应用编程。 1. IAP简介 IAP&#xff08;In Application Programming&#xff09;即 在应用编程&#xff0c;IAP…

Apache RocketMQ5.x-消息队列体验

Apache RocketMQ5.x-消息队列体验 Apache RocketMQ 是一款低延迟、高并发、高可用、高可靠的分布式消息中间件&#xff0c;由阿里开源&#xff0c;后由阿里捐赠给Apache基金会。 本次体验的目的是从技术角度验证一下在微服架构中&#xff0c;用Apache RocketMQ做为消息队列&am…

MQTT 订阅标识符详解

为什么需要订阅标识符 在大部分 MQTT 客户端的实现中&#xff0c;都会通过回调机制来实现对新到达消息的处理。 但是在回调函数中&#xff0c;我们只能知道消息的主题名是什么。如果是非通配符订阅&#xff0c;订阅时使用的主题过滤器将和消息中的主题名完全一致&#xff0c;…

chatglm微调

chatGML 看到 【【官方教程】ChatGLM-6B 微调&#xff1a;P-Tuning&#xff0c;LoRA&#xff0c;Full parameter】 【精准空降到 15:27】 https://www.bilibili.com/video/BV1fd4y1Z7Y5/?share_sourcecopy_web&vd_sourceaa8c13cff97f0454ee41e1f609a655f1&t927 记得看…

Java Mybatis02+oracle拓展

0目录 Mybatis 02Oracle 拓展 1.Mybatis 02 创建数据库和表 创建工程 实体类 util工具类 接口方法 Resource Mapper xml文件 配置文件 测试 加入模糊查询&#xff08;根据姓名&#xff09; 测试结果 2.ParameterType语法 实战 参数为对象 参数为…