您现在的位置是:网站首页> 编程资料编程资料
TSX常见简单入门用法之Vue3+Vite_vue.js_
2023-05-24
499人已围观
简介 TSX常见简单入门用法之Vue3+Vite_vue.js_
1.安装tsx
1.安装tsx插件
npm install @vitejs/plugin-vue-jsx -D
2.vite.config.ts里的配置
import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import vueJsx from '@vitejs/plugin-vue-jsx' // https://vitejs.dev/config/ export default defineConfig({ plugins: [vue(),vueJsx()], })3.tsconfig.json里的配置
{ "compilerOptions": { "target": "esnext", "useDefineForClassFields": true, "module": "esnext", "moduleResolution": "node", "strict": true, "jsx": "preserve", "jsxFactory": "h", "jsxFragmentFactory": "Fragment", "sourceMap": true, "resolveJsonModule": true, "isolatedModules": true, "esModuleInterop": true, "lib": ["esnext", "dom"], "skipLibCheck": true, }, "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], "references": [{ "path": "./tsconfig.node.json" }] }这三条为配置项
"jsx": "preserve", "jsxFactory": "h", "jsxFragmentFactory": "Fragment",
2.使用TSX
1.app.vue里的代码
2.app.tsx的代码
import { ref } from "vue"; let v = ref(""); let flag = ref(false); let arr = ref([0, 1, 2, 3, 4, 5]); // tsx不会自动结构所以该用.value还是要使用 type Props = { title: string; }; const renderDom = (props: Props, ctx: any) => { return ( {props.title}
{v.value}
正确的错误的 {/* 正确的错误的 */} {/* 不支持v-if 可用三元表达式去代替 */} {flag.value ? 正确的 : 错误的} {/* 不支持v-for 但可以用map循环去代替 */} {/*不支持v-bind,可以直接绑定数值 */} {arr.value.map((item, i: any) => { return ( {item} ); })} ); }; const clickIndex = (i: any) => { alert(i); }; const clickEmit=(ctx:any)=>{ ctx.emit('on-click',123) } export default renderDom; 注意:
1.tsx里面写的标签内容是不会自动解构的,所以ref里面的.value还是要加上值才会出来2.tsx里面支持v-show,v-model,但不支持v-bind,v-for,v-if,所以再写这些的时候要更改写法
v-if使用三元表达式
{flag.value ?正确的:错误的}
v-for通过map函数遍历数组来实现
{arr.value.map((item, i: any) => { return ({item}); })}
v-bind可以直接绑值
props和emit使用
1.props
(app.vue里传值title)
type Props = { title: string; }; const renderDom = (props: Props, ctx: any)(renderDom里面接收后可以使用,和以前一样)
2.emit
const renderDom = (props: Props, ctx: any)(拿到上下文)
(绑定方法)
const clickEmit=(ctx:any)=>{ ctx.emit('on-click',123) }(通过emit传值)
(以上为app.tsx文件里面)
(绑定自定义事件)
const getNum = (num: number) => { console.log("我收到了", num); };(拿到值去使用)
(以上为父组件收到并使用)
总结
到此这篇关于TSX常见简单入门用法之Vue3+Vite的文章就介绍到这了,更多相关TSX常见用法内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
您可能感兴趣的文章:
相关内容
- Nodejs提取网址参数解决“querystring”已弃用问题_node.js_
- Node版本升级和降级之node版本管理工具nvm详解_node.js_
- JavaScript学习笔记之取值函数getter与取值函数setter详解_javascript技巧_
- 手把手带你安装多个node版本_node.js_
- vue跨域proxy代理配置详解_vue.js_
- Vue Computed底层原理深入探究_vue.js_
- forEach循环里break使用方式详解_JavaScript_
- JavaScript中数组flat方法的使用与实现方法_javascript技巧_
- TypeScript编写自动创建长度固定数组的类型工具详解_JavaScript_
- three.js镜头追踪的移动效果实例_javascript技巧_
点击排行
本栏推荐
