vue3 defineComponent + 渲染函数h + 全局注册​

defineComponent 是 Vue 3 中的一个函数,用于定义一个组件。它是 Vue 3 的组合式 API 的一部分,提供了一种更加灵活和组织化的方式来定义组件。在 Vue 2 中,我们通常使用一个对象来定义组件,而在 Vue 3 中,defineComponent 函数提供了更多的类型支持和更好的集成。
defineComponent 的作用

    类型推断: 在使用 TypeScript 时,defineComponent 提供了更好的类型推断。它可以帮助 TypeScript 更准确地推断组件选项中的类型,比如 props、data、computed 等。

    组合式 API 支持: 它允许你使用 Vue 3 的组合式 API,这包括 ref、reactive、computed、watch 等响应式特性。

    更好的工具集成: defineComponent 为 Vue 工具(如 Vue Devtools)提供了更好的集成,使得组件的调试和维护更加容易。

    可选的模板编译: 当使用 defineComponent 时,你可以选择性地包含模板字符串,并且这些模板会在构建时自动编译。

 

https://cn.vuejs.org/guide/typescript/overview.html#definecomponent

import { defineComponent } from 'vue'export default defineComponent({// 启用了类型推导props: {message: String},setup(props) {props.message // 类型:string | undefined}
})

https://cn.vuejs.org/api/render-function.html#h

https://cn.vuejs.org/guide/components/registration.html#global-registration

Demo

index.ts:

import { defineComponent, ref, h } from 'vue'const ProTable = defineComponent({name: 'ProTable',props: {title: String},setup(props) {const count = ref(0)console.log(props)return () => {return h('div', `${count.value},${props.title}`)}}
})export { ProTable }

main.ts:

import './assets/main.css'import { createApp } from 'vue'
import { createPinia } from 'pinia'
import WujieVue from 'wujie-vue3'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'import App from './App.vue'
import router from './router'
import { ProTable } from './components/light/pro-table/'const app = createApp(App)app.use(createPinia())
app.use(router)
app.use(WujieVue)
app.use(ElementPlus)
app.component('pro-table', ProTable)app.mount('#app')

Index.vue:

<script setup>
import { onMounted, ref } from 'vue'
import './index.css'onMounted(() => {})
</script><template><div><div>1</div><pro-table title="标题"></pro-table></div>
</template>

人工智能学习网站

https://chat.xutongbao.top

 

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

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

相关文章

赶走异味保持清香,何浩明净味爽身香体膏

夏天来了&#xff0c;大家都想要清清爽爽的出门&#xff0c;但是汗味、狐臭这些小问题都在所难免&#xff0c;总要想办法应对&#xff0c;我目前用的是一款香体膏&#xff0c;它不仅能赶走那些让人尴尬的异味&#xff0c;还能让我们享受一整天的清新自在。 我用的这款叫做何浩明…

解决接入sleuth链路追踪后xxl-job定时任务的日志无日志问题

问题背景 随着业务规模的不断的增大, 系统的复杂度也越来越高, 公司软件架构也进入到了分布式微服务的阶段, 在这样的情况下每一次请求都有可能跨越多个项目&#xff0c; 传统的日志监控方式无法满足调用链路追踪, 这就导致问题定位/诊断服务变得复杂。所以我们引入了sleuth这一…

STM32MP135裸机编程:配置RCC,修改主频到1GHz

0 工具准备 STM32CubeMX v6.11.1 STM32CubeIDE v1.15 STM32CubeProgrammer v2.16.0 STM32MP13xx参考手册 STM32MP13勘误手册 STM32MP135AD数据手册 正点原子stm32MP135开发板 1 确认时钟源 本例使用的时钟源均由外部晶振提供&#xff0c;分别是24MHz的HSE、32.768KHz的LSE。原…

重学java 74.Lombok的使用

少点心气&#xff0c;多点干劲 —— 24.6.18 一、lombok的安装使用 1.作用: 简化javabean开发 2.使用: a.下插件 ->如果是idea2022不用下载了,自带 b.导lombok的jar包 安装教程&#xff1a; http://t.csdnimg.cn/wq9MM c.修改设置 二、lombok的介绍 Lombok通过增加一…

gitlab 身份验证手机号验证没86

处理方案 在浏览器中摁 【F12】打开控制台&#xff0c;选择网络模块&#xff0c;找到手机号列表的请求&#xff0c;请求是 https://gitlab.com/-/countries&#xff0c;右击数据区域点击【替换内容】如下&#xff1a; ![在这里插入图片描述](https://img-blog.csdnimg.cn/di…

【信息学奥赛】CSP-J/S初赛03 计算机网络与编程语言分类

第1节 计算机网络基础 1.1 网络的定义 所谓计算机网络&#xff0c;就是利用通信线路和设备&#xff0c;把分布在不同地理位置上的多台计算机连 接起来。计算机网络是现代通信技术与计算机技术相结合的产物。 网络中计算机与计算机之间的通信依靠协议进行。协议是计算机收、发…

Linux文件与内容查阅、归档压缩

#Linux系统基础 文件与内容查找、归档压缩 find命令搜索文件 grep对文件的内容进行搜索 tar命令进行文件的压缩与解压缩 一、文件的查找 格式实例&#xff1a;find . -name "123.txt"说明find起始目录查找类型查找条件./ 或 .-name“123.txt”在当前目录中查找…

CIC-DDoS2019-Detection

CIC-DDoS2019 对CIC-DDoS2019数据集进行检测,本文提供了如下内容&#xff1a; 数据清洗与合并机器学习模型深度学习模型PCA,t-SNE分析数据&#xff0c;结果可视化 代码地址&#xff1a;[daetz-coder](https://github.com/daetz-coder/CIC-DDoS2019-Detection) 1、数据集加载…

echart在线图表demo下载直接运行

echart 全面的数据可视化图表解决方案 | 折线图、柱状图、饼图、散点图、水球图等各类图表展示 持续更新中 三色带下表题速度仪表盘 地图自定义图标 动态环形图饼状图 动态水波动圆形 多标题指针仪表盘 温度仪表盘带下标题 横向柱状图排名 环形饼状图 双折线趋势变化

排序——快速排序

目录 思想 演示 代码实现 解释 优化 三数取中 小区间优化 补充 挖坑法 双指针法 非递归实现 思想 快速排序是一种二叉树结构的交换排序方法。 基本思想为&#xff1a;任取待排序元素序列中的某元素作为基准值&#xff0c;按照该排序码将待排序集合分割成两子序列&am…

​【数据结构与算法】冒泡排序:简单易懂的排序算法解析

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;《数据结构与算法》 期待您的关注 ​ 目录 一、引言 二、冒泡排序原理 &#x1f343;基本思想&#xff1a; &#x1f343;算法…

课程笔记 | 数字设计基础

1.数字ASIC设计流程 2.组合与时序电路 3.同步与异步复位 4.锁存器Latch 5. RTL VS Gate 6.建立与保持时间 7.流水线设计 8.时钟树综合 9.Cell延时 10.PVT特性 11.Wire延时 1.根据ASIC流程的介绍&#xff0c;理解静态和动态验证的区别。请指出以下验证对应ASIC流程中的…

优化:服务队列堵塞,内存不足,CPU打满导致宕机,服务卡死

一.事件&#xff1a;刚接手的项目因消息队列堵塞频繁报警&#xff0c;交接的时候原负责人说项目是最近出现的问题&#xff0c;暂时无法解决&#xff0c;只能靠重启解决&#xff1b; 二.排查&#xff1a;因公司用的是jre&#xff0c;也没有其他第三方工具&#xff0c;只能按照经…

自杀行为的神经生物学认识

自杀行为的神经生物学认识 编译 李升伟 隐藏在自杀行为背后的大脑生化机制正引领人类对自杀的认识从黑暗步入光明。科学家希望未来这些机制能带来更好的治疗和预防策略。 基斯 • 范希林根&#xff08;Cornelis Van Heeringen&#xff09;第一次遇见瓦莱丽&#xff08; Va…

大模型技术工程师:抓住时代机遇,成为行业精英_

伴随AI大模型的火热&#xff0c;中国科技大厂们正在掀起一场「跑步AI化」的风暴。从顶层战略到业务线重构&#xff0c;AI无疑已成为大厂们押注未来的新故事。 大模型时代已经到来 大模型已成为全球竞争热点&#xff0c;一个大模型时代已经到来。 大模型具备三个特点&#xf…

MySQL:概念、逻辑与物理结构设计详解

MySQL&#xff1a;概念、逻辑与物理结构设计详解 一、引言 MySQL是一个流行的开源关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;广泛应用于各种规模和类型的应用程序中。在设计和实现一个MySQL数据库时&#xff0c;理解其基本概念、逻辑结构设计和物理结构…

新手一次学会SpringBoot项目部署 + Docker中运行Samba服务设置共享目录

SpringBoot项目部署 1.IDEA打包&#xff0c;在IDEA终端&#xff0c;输入mvn clean package 2.将项目target中的jar包放入linux目录 3.运行jar包 前台运行&#xff08;直接显示输出&#xff09;&#xff1a; java -jar data-transport-server-0.0.1-SNAPSHOT.jar后台运行&…

java创建线程

在Java中创建线程可以通过继承Thread类或者实现Runnable接口。以下是两种方式的示例代码&#xff1a; 继承Thread类 public class MyThread extends Thread { public void run() { System.out.println("线程正在运行..."); } } public class Main {…

鸿蒙开发网络管理:【@ohos.net.socket (Socket连接)】

Socket连接 说明&#xff1a; 本模块首批接口从API version 7开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import socket from ohos.net.socket;socket.constructUDPSocketInstance constructUDPSocketInstance(): UDPSocket 创建…

已解决:geecg Column ‘id‘ in order clause is ambiguous

报错&#xff1a;Column id in order clause is ambiguous&#xff1b; MyBatis关联查询&#xff0c;相同字段名冲突&#xff0c;sql语句已经使用别名但仍然报错。 分析&#xff1a;写mapper映射文件时&#xff0c;在写到一对一关联&#xff0c;一对多关联时&#xff0c;由于两…