tsx语法

安装JSX库

安装完之后在vite.config.ts进行插件使用,代码如下:
在这里插入图片描述

在这里插入图片描述

然后就可以愉快的使用TSX来开发Vue组件了,下面主要说一下SFC和TSX的部分区别。

基本语法对照

defineComponent 和 setup
setup中函数的返回值有多种方式,可以直接返回html,这个适合结构简单的页面,如果返回比较多,可以使用如下方式:
在这里插入图片描述

如果是多节点,可以使用空符号包裹
在这里插入图片描述

这种方式类似v-if,但是和v-if还是有点区别,v-if可以作用在更小的范围,而这种方式只适合整个组件的条件渲染,这个可能不好理解,在下面v-if的使用中我们会看到区别。

v-if
使用条件判断语句来实现v-if的功能,一般是三目运算符
在这里插入图片描述

在这里你可以看到v-if的使用和我们上面的条件返回不一样,区别就是整体渲染没有大的变化,只是其中部分地方要按条件显示。

v-bind
绑定变量,也就是简写的:冒号,修改方式就是将冒号去掉,把双引号改为大括号
在这里插入图片描述

v-for
采用map循环的方式,返回一个数组
在这里插入图片描述

自定义指令
自定义指令和普通指令v-model一样
在这里插入图片描述

插槽
插槽有两种实现方式,一种是用v-slots绑定对象,一种是直接在元素中使用对象。
在这里插入图片描述

props
父组件向子组件传值
在这里插入图片描述

需要注意的是,prop传递过来的值如果没有默认值,需要判断是否为空,可以使用计算属性或者条件渲染处理。

emit
子组件向父组件传值
在这里插入图片描述

事件监听
事件监听就是v-on或者@,在TSX中事件以on开头,即使我们的自定义事件没有on,也要在监听的时候加上,一般都采用的是小驼峰的方式。自定义事件也需要在事件名前面加上on即可,参数传递与上面一致
在这里插入图片描述

在TSX中处理事件不能使用事件修饰符,因此需要在事件函数中自行处理,例如冒泡、阻止默认行为等。

属性/事件继承
对于这个我也不知道怎么描述,当我们给一个组件传递属性和事件时,一般子组件在props中接收属性值,emits中接收事件,但是我们也可以传一些额外的属性和事件,即不在props和emits中的属性和事件,虽然这是不推荐的做法,但是有时候当我们封装第三方库的时候,这种用法就非常的方便。具体看如下代码:
在这里插入图片描述

组件引用
通过ref获取组件dom信息
在这里插入图片描述

对外暴露属性和方法
在父组件中直接调用子组件的属性和方法
在这里插入图片描述

规定css类名的命名规则为小驼峰,即child-item类在js中会变成childItem变量。但是要实现css module的功能,对css文件命名由要求,必须在后缀名前面是module,例如xxx.module.css、xxx.module.less、xxx.module.scss。

示例如下:

创建一个css文件:child.module.css
在这里插入图片描述

在这里插入图片描述

除了动态class还有动态style的使用
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

vuepress-----9、PWA

# 9、PWA 使用babel 的插件形式 [vuepress/pwa,{serviceWorker: true,updatePopup: {message: "New content is available.",buttonText: "Refresh"}}]提供 Manifest 和 icons (opens new window) 拷贝到public目录下 发布后出现 service workers [外链图片…

Apache Flink(二):数据架构演变

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹…

将数据导出为excel的js库有哪些

导出数据为Excel文件的JavaScript库有很多,其中一些常用的包括: SheetJS/xlsx:这是一个功能强大的库,可以用于读取和写入Excel文件,支持多种格式。 exceljs:这是一个纯JavaScript编写的库,可以…

Android textView 显示 String too large

默认情况下,TextView只能显示大约32K的字符。如果你的字符串超过这个限制,你将收到一个错误:“String too large”。 如果你需要显示更大的字符串,你可以尝试以下几种解决方案: 1、分割字符串:你可以尝试…

promis.all的异步使用

基础 参考 https://blog.csdn.net/qq_52855464/article/details/125376557 简单来说 Promise.all是处理接口返回方法异步的,能够使得接口的获取顺序得到控制,不会出现数据为空的情况 使用 先执行jianshigetGroups->groupIds-> const promises2 …

docker搭建rabbit集群

1.去rabbitMQ官网拉去images 我当前使用的是最新版本的镜像:rabbitmq:3.12-management 2.创建一个集群专用网络 docker的容器相互隔离是不可通信的,我们自行创建一个网络后,创建容器时 给他们放在一起,就可以通信了。 docker netw…

【LabVIEW学习】3.labview制作安装程序

一。生成exe文件 1.创建可执行文件 (1)创建项目 注意: 1.创建.exe文件,这个文件在labview环境下才可以运行,如果直接传递给其他电脑(没有labview环境),他是不可以运行的。 2.如果已…

Golang WebSocket 心跳

WebSocket是一种在客户端和服务器之间实现全双工通信的协议,它允许实时地传输数据,并且比传统的HTTP请求更加高效。在使用Golang构建WebSocket应用程序时,一个重要的考虑因素是如何实现心跳机制,以确保连接的稳定性和可靠性。本文…

创建SpringBoot流程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、操作步骤总结 前言 我使用的是jdk1.8版本的,idea社区版的(专业版的应该也差不多吧) 提示…

华清远见嵌入式学习——C++——作业2

作业要求&#xff1a; 代码&#xff1a; #include <iostream>using namespace std;class Rect { private:int width;int height;public:void init(int w,int h);void set_w(int w);void set_h(int h);void show(); };void Rect::init(int w,int h) {width w;height h;…

记一次:Python的学习笔记一

前言&#xff1a;之前学习的Python笔记&#xff0c;已经过去很多年了&#xff0c;不久前重新翻了出来练习练习。不完善的地方在缝缝补补 一、环境搭建 1.1、Python的win环境安装 0、python-3.12.0软件安装&#xff1a;Win11环境搭建python-3.12.0-amd64 这里小小注意一下&a…

C实现的双向链表队列

如下代码所示&#xff0c;一个头文件实现的双向链表&#xff0c;用c代码实现&#xff1a; #ifndef _LINUX_LIST_H #define _LINUX_LIST_H#include "stddef.h" #include "poison.h"#ifndef ARCH_HAS_PREFETCH #define ARCH_HAS_PREFETCH static inline voi…

[Electron] 将应用打包成供Ubuntu、Debian平台下安装的deb包

​ 在使用 electron-packager 工具输出 linux 平台的 electron app 后&#xff0c;可以使用 electron-installer-debian 工具把 app 打包成供Ubuntu平台下安装的 debian 包。 electron-installer-debian是一个用于创建 Debian Linux&#xff08;.deb&#xff09;安装包的开发工…

vuepress-----3、导航栏

3、导航栏 # 页面目录结构约定 . ├── docs │ ├── .vuepress (可选的) │ │ ├── components (可选的) │ │ ├── theme (可选的) │ │ │ └── Layout.vue │ │ ├── public (可选的) │ │ ├── styles (可选的) │ │ │…

Python 异常处理

当程序遇到问题时不让程序结束&#xff0c;而通过错误继续向下执行。 概述 作用 用来检测try语句块中的错误&#xff0c;从而让except语句捕获错误信号并处理 格式 try:处理语句 except 错误类型 as e:错误1执行语句 except 错误类型 as e:错误2执行语句 ..... except 错误…

【三哥说技术】第10集 FOC电机控制板硬件原理图的绘制十天从小白到高手

【三哥说技术】第10集 FOC电机控制板硬件原理图的绘制十天从小白到高手 三哥说技术第10集 FOC电机控制板硬件原理图的绘制十天从小白到高手#PCB设计 #电子工程师 #硬件设计 #入门教程 #FOC控制 #直流无刷电机 #机器人关

vue七牛云上传图片

1.安装七牛云 npm安装 npm install qiniu-jsyarn安装 yarn add qiniu-js在单个页面引入 import * as qiniu from "qiniu-js";<van-uploader :after-read"afterRead" :before-delete"beforeDelete" :max-count"1" v-model"…

【从JVM看Java,三问继承和多态,是什么?为什么?怎么做?深度剖析JVM的工作原理】

系列文章&#xff1a; 《计算机底层原理专栏》&#xff1a;欢迎大家订阅学习&#xff0c;能够帮助到各位就是对我最大的鼓励&#xff01; 文章目录 系列文章目录前言一、JVM是什么二、什么是继承三、什么是多态总结 前言 这篇文章聚焦JVM的实现原理&#xff0c;我更专注于从一…

身份证mod11-2校验规则

这几天碰到一个需求是实现身份证最后一位的校验&#xff0c;需求文档里面写了个公式&#xff0c;没看懂&#xff08;数学早就还给老师了&#xff09;&#xff0c;于是各种查资料&#xff0c;发现网上的资料要么只给了说明&#xff0c;要么给了个固定的代码&#xff0c;但是写的…

SRE体系建设指南

sre体系建设指南 一、团队建设 指导思想 拥抱风险&#xff1a;容忍风险、度量风险、管理风险、研究当前高频故障原因和主要风险&#xff1b;演进式、SLO目标内允许故障 工作准则&#xff1a;专注改进设计、专注研发工作&#xff1b;把可靠性工作纳入软件各阶段、简单化、减…