当前位置: 首页 > news >正文

Composition API

为什么会产生 Composition API?

Vue2 逻辑复用方式

缺点

  • Mixin (命名空间冲突、逻辑不清晰、不易复用)
  • scoped slot 作用域插槽 (配置项多、代码分裂、性能差)
  • Vue2 对 TS 支持不充分

Composition API

优点

  • 逻辑代码更少, 更集中, 更易扩展
  • 更加丰富的 API 集成
  • 对 TS 来说, 非常友好 (利于类型推导)

Vue2 与 Vue3 编写风格上的区别

请添加图片描述

data 的变量定义 与 methods 的方法定义 -> 整合成一个 setup 中

会不会导致 setup 方法非常大?

不会, 方法和变量可以被定义到不同的 js 文件中

setup 选项中没有 this, 无法访问组件声明中的属性, 但是 Methods 中有

主要原因是在执行 setup 时, 尚未创建组件的实例, 因此在 setup 中没有 this

setup 函数接收两个参数 props 与 context

props 不可解构, context 有 attrs/slots/emit 属性

// context 没解构的使用
setup (props, ctx) {
    console.log('🚀 ~ file: HomeChild.vue:15 ~ setup ~ attrs:', ctx.attrs)
}
// context 解构的使用
setup (props, { emit, attrs }) {
    console.log('🚀 ~ file: HomeChild.vue:15 ~ setup ~ attrs:', attrs)
}

TS 类型推导在组合式 API 中非常的好用

使用组合式 API 可以很方便的抽离逻辑代码进行复用

相关文章:

  • 在 C++ 中,通常会使用 `#define` 来定义宏,并通过这种方式发出警告或提示。
  • 线程、进程
  • 大模型生成长度预测器
  • Solon AI —— RAG
  • 推流项目的ffmpeg配置和流程重点总结一下
  • 【Elasticsearch】Elasticsearch 中使用 HDFS 存储快照
  • 从vue源码解析Vue.set()和this.$set()
  • Checkpoint 模型与Stable Diffusion XL(SDXL)模型的区别
  • SpringBoot 异常处理
  • 【四.RAG技术与应用】【12.阿里云百炼应用(下):RAG的云端优化与扩展】
  • 靶场之路-VulnHub-DC-6 nmap提权、kali爆破、shell反连
  • 【MySQL】MySQL 复制
  • Git 批量合并 Commit 并且保留之前的 Commit 快速实现的思路
  • 【Jenkins】Pipeline流水线语法解析全集 -- 脚本式流水线、groovy语法
  • 数字后端培训实战项目六大典型后端实现案例
  • DeepSeek:构筑大数据平台底座的最优解
  • Unity3D 刚体动力学(Rigidbody Dynamics)详解
  • LIUNX学习-线程
  • 【3DMAX室内设计】2D转3D平面图插件2Dto3D使用方法
  • TomcatServlet
  • 电子商务网站建设的基本流程/b2b外贸平台
  • 网站建设过程规划和准备阶段/怎样推广网站
  • 怎么做网站后台界面/百度搜索官方网站
  • 网站标签span/百度关键词seo排名优化
  • 做网站刷赞qq怎么赚钱/泰安做百度推广的公司
  • 网站html模板下载/发布新闻最快的网站