总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

  • 时间:2025-11-15 20:05 作者: 来源: 阅读:0
  • 扫一扫,手机访问
摘要:SFC 单文件组件顾名思义,就是一个.vue文件只写一个组件模板写法如果这个组件想要在别的组件里使用,就需要在另一个.vue中引入和使用、复用h函数写法使用 defineComponent + h 去进行组件编写JSX/TSX写法使用 defineComponent + JSX/TSX 去进行组件编写pnpm i @vitejs/plugin-vue-jsx -D安装完毕后,需要在 vite.co

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

SFC 单文件组件

顾名思义,就是一个.vue文件只写一个组件

模板写法

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

如果这个组件想要在别的组件里使用,就需要在另一个.vue中引入和使用、复用

h函数写法

使用 defineComponent + h 去进行组件编写

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

JSX/TSX写法

使用 defineComponent + JSX/TSX 去进行组件编写

pnpm i @vitejs/plugin-vue-jsx -D

安装完毕后,需要在 vite.config.ts 中去进行插件配置

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

引入组件

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

单文件多复用模板

如果你想要在一个单文件组件中,定义一些可复用的模板代码的话,可以试试以下的方法

createReusableTemplate

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

这是 VueUse 提供的一个 Hooks

文档地址:https://vueuse.org/core/createReusableTemplate/

使用方式如下:

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

namedTemplate

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

namedTemplateVue Macros 推出的一个前瞻性的 Vue3 特性

虽然Vue Macros里的特性暂时还不是正式版特性,但是后来有很大致率会成为正式版特性

我们也可以对 Vue3 项目进行配置,使得项目可以使用 Vue Macros的特性

文档地址:https://vue-macros.dev/zh-CN/features/named-template.html

使用方式如下:

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

通用的多组件管理

你可以将多个逻辑紧密或者类型类似的组件,放置在同一个ts文件或Hooks中去管理,在使用到这些组件的地方去引入即可使用~

FunctionalComponent + h

在某一个页面中,如果你有一些组件,它们逻辑比较紧密联系,那你可以使用FunctionalComponent + h将他们封装在同一个 Hooks 中,列如下面的例子

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

或者你不想写在Hooks中,你也完全可以写在最外层

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

只不过引入方式就要做一些改变

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

defineComponent + h

defineComponent + h 的写法也是差不多的道理

你可以使用 Hooks 去封装,如下:

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

或者你也可以直接放在ts文件最外层

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

也是同样的效果:

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

defineComponent + JSX/TSX

可能会有人觉得 h 写起来很麻烦,嵌套太多的话写起来会很不舒服,那我们实则也可以用JSX/TSX去替代它

同样你也可以将多个组件以JSX/TSX的形式,维护在同一个tsx文件中

pnpm i @vitejs/plugin-vue-jsx -D

安装完毕后,需要在 vite.config.ts 中去进行插件配置

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

配置完就可以写 TSX 啦!!!

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

同样你也可以写在外层(这里就不写了,同理)

也是同样的效果:

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

Vue Macros 组件 API

Vue Macros里的特性暂时还不是正式版特性,但是后来有很大致率会成为正式版特性

文档:https://vue-macros.dev/zh-CN/

defineRender + JSX/TSX

文档地址:https://vue-macros.dev/zh-CN/macros/define-render.html#definerender

defineRenderdefineComponent 的区别在于,defineRender只需要关心最终的DOM结构,不需要管状态的维护

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

setupSFC + JSX/TSX

文档地址:https://vue-macros.dev/zh-CN/macros/setup-sfc.html#setupsfc

想使用 setupSFC 的特性,需要建一个.setup.tsx/.setup.jsx 文件,跟普通的 tsx/jsx 文件相比,每次引入.setup.tsx/.setup.jsx这个文件,都是一个新的组件实例,状态并不会共享

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

setupComponent + JSX/TSX

文档地址:https://vue-macros.dev/zh-CN/macros/setup-component.html#setupcomponent

setupComponent 适合用来管理多组件,可以把多个紧密联系或共用的组件,通过setupComponent写在同一个文件或 Hooks 里

setupComponent中可以使用setup的语法去写逻辑,写起来比defineComponent简洁许多

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

同理,你想写在文件外层也行~这里就不具体写了

Vine

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

文档:https://vue-vine.dev/

这个库的作用就是:让 Vue 组件能通过函数式来定义

举个例子,我们在平时写一个组件的时候,会通过模板的方式去定义

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

但是在使用了 Vue-Vine这个库之后,可以使用函数式的方式去定义

总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率

翻看了一下Vue-Vine的官方文档,总结出Vue-Vine这个库的初衷是:

  • 想要做到像 React JSX 那样的组件定义方式
  • 可以在同个文件里定义多个组件
  • 使得逻辑更加聚合,提高开发效率

总结

Vue 的组件有许多写法,合适的场景选择合适的写法,才能更好地提高开发效率~而不是死定硬背

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】Office 2010 自带公式编辑器的公式字体怎么修改?(2025-11-15 22:07)
【系统环境|】PGC世界赛 A组队伍概览 #绝地求生(2025-11-15 22:07)
【系统环境|】讲透 Spring Boot Cloud(2025-11-15 22:06)
【系统环境|】Dubbo和SpringCloud区别详解(4大核心区别)(2025-11-15 22:06)
【系统环境|】Spring Boot3 中实现全链路追踪,你 get 了吗?(2025-11-15 22:05)
【系统环境|】SpringCloud最全详解(万字图文总结)(2025-11-15 22:05)
【系统环境|】爆了爆了,Spring Cloud面试题(2025-11-15 22:04)
【系统环境|】一文部署skywalking(2025-11-15 22:03)
【系统环境|】使用Qt实现一个简单的绘图软件(2025-11-15 22:03)
【系统环境|】用Python做科学计算(工具篇)——scikit-learn(机器学习)2(2025-11-15 22:02)
手机二维码手机访问领取大礼包
返回顶部