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

Composition Api 与 Options Api 有什么区别?

Vue 3.0采用的Composition API与Vue 2.x使用的Options API在编写Vue组件时有一些区别。

区别:

  1. 组织代码的方式不同:

    • Options API:按照选项进行组织,将数据、计算属性、方法等声明在一个对象中。
    • Composition API:按照逻辑功能进行组织,将相关逻辑代码放在一个函数中。
  2. 数据和方法的访问方式不同:

    • Options API:通过this关键字访问数据和方法。
    • Composition API:通过引入具体的函数进行数据和方法的处理。

作用:

  • Options API:提供了一种简洁明了的方式来定义和组织组件的选项(data、methods、computed等),适合于小型应用或简单的组件。
  • Composition API:通过将逻辑相关的代码封装在函数中,提供更灵活的组织方式,使得代码复用、组织和测试更加方便,特别适合于大型应用或复杂的组件。

使用:

        1.

<template><div><p>{{ message }}</p><button @click="changeMessage">Change Message</button></div>
</template><script>
export default {data() {return {message: 'Hello Vue'};},methods: {changeMessage() {this.message = 'New Message';}}
};
</script>

        2.Composition API 示例:

<template><div><p>{{ message }}</p><button @click="changeMessage">Change Message</button></div>
</template><script>
import { reactive } from 'vue';export default {setup() {const state = reactive({message: 'Hello Vue'});const changeMessage = () => {state.message = 'New Message';};return {...state,changeMessage};}
};
</script>

在Composition API示例中,使用reactive函数将数据变为响应式,并利用setup()函数组织逻辑代码。通过返回一个包含数据和方法的对象,让它们可以在模板中被访问。

通过Composition API,我们可以将相关的代码逻辑进行封装并复用,使得代码更加清晰、可维护性更强。此外,Composition API还提供了其他一些函数,如computedwatch等,用于处理计算属性和监听数据变化等操作。

http://www.lryc.cn/news/192594.html

相关文章:

  • 紫光同创FPGA实现UDP协议栈网络视频传输,基于YT8511和RTL8211,提供4套PDS工程源码和技术支持
  • 深度学习简述
  • 【从零开始学习Redis | 第二篇】Redis中的数据类型和相关命令
  • 数据结构 - 3(链表12000字详解)
  • Jmeter性能测试插件jpgc的安装
  • 关于safari浏览器浏览html video标签无法正常播放的问题
  • 【C++代码】最大二叉树,合并二叉树,二叉搜索树中的搜索,验证二叉搜索树--代码随想录
  • 母婴用品会员商城小程序的作用是什么
  • c++初阶--内存管理
  • Burstormer论文阅读笔记
  • Apifox 学习笔记 - 前置操作之:动态更新请求体中的时间戳
  • 2023年9月 青少年软件编程等级考试Scratch二级真题
  • 12.验证码以及付费代理
  • 使用Plotly可视化
  • 【C语言】结构体、位段、枚举、联合(共用体)
  • “Python+”集成技术高光谱遥感数据处理与机器学习深度应用
  • Excel 转为 PDF,PNG,HTML等文件
  • docker中使用GPU+rocksdb
  • 好用的跨平台同步笔记工具,手机和电脑可同步的笔记工具
  • 【Python 千题 —— 基础篇】浮点数转换为整数
  • 金融科技论文D部分
  • Apache Tomcat下载安装配置使用超详细
  • 基于Seata的分布式事务方案
  • 指令跳转:原来if...else就是goto
  • 【数据库系统概论】第四章数据库安全性
  • 如何正确的关闭Redis服务器
  • MySQL日志管理和权限管理(重点)
  • Maven 使用教程(二)
  • [Swift]同一个工程管理多个Target
  • DevExpress Reporting中文教程 - 如何在macOS等系统中生成导出报表文档