欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > 【第5章】Vue之API风格

【第5章】Vue之API风格

2024/10/25 0:28:38 来源:https://blog.csdn.net/qq_44824164/article/details/139547373  浏览:    关键词:【第5章】Vue之API风格

文章目录

  • 前言
  • 一、选项式 API(Options API)
    • 1. 代码
    • 2. 效果
  • 二、组合式 API(Composition API)
    • 1. 代码
    • 2. 效果
  • 三、两者之间的区别
  • 总结


前言

Vue.js 提供了两种主要的 API 风格来组织组件的代码:选项式 API(Options API)和组合式 API(Composition API)。这两种 API 风格在 Vue 3 中都得到了支持,但组合式 API 是在 Vue 3 中引入的新特性,旨在解决大型组件中逻辑难以组织和复用的问题。

接下来我们来使用一个时钟的案例来展示同样的用法,不通的代码风格。


一、选项式 API(Options API)

在 Vue 2 和 Vue 3 中,选项式 API 是默认的 API 风格。它使用 export default 返回一个对象,该对象包含组件的各种选项,如 datamethodscomputedwatchmounted 等。

1. 代码

<script>
//选项式 API
export default {data() {return {msg: '选项式 API时钟功能',currentTime: ''};},methods: {updateTime() {  const now = new Date();  this.currentTime = `${now.getHours()}:${now.getMinutes()}:${now.getSeconds()}`;  } },mounted() {this.updateTime(); // 在组件加载时获取一次时间  setInterval(this.updateTime, 1000); // 每秒更新一次时间  },beforeDestroy() {  clearInterval(this.intervalId); // 在组件销毁前清除定时器  }
};
</script><template><h1>{{ msg }}</h1><div><p>当前时间: {{ currentTime }}</p></div>
</template><style>h1{color:rgb(0, 255, 115);}
</style>

2. 效果

在这里插入图片描述

二、组合式 API(Composition API)

组合式 API 是在 Vue 3 中引入的一种新特性,它允许你使用更具函数式编程风格的代码来组织组件逻辑。组合式 API 提供了一系列函数,如 refreactivecomputedwatchsetup 等,这些函数可以在 setup 函数中一起使用,以定义组件的状态、方法和计算属性。

1. 代码

<!-- 组合式 API -->
<script setup>
import { ref,onMounted,onBeforeUnmount} from 'vue'// 定时器的引用  
let intervalId = null;
const msg = ref('组合式 API时钟功能')
const currentTime = ref('')function updateTime() {const now = new Date();  currentTime.value = `${now.getHours()}:${now.getMinutes()}:${now.getSeconds()}`;
}onMounted(() => {updateTime(); // 在组件加载时获取一次时间intervalId = setInterval(updateTime, 1000); // 每秒更新一次时间     
}) 
onBeforeUnmount(() => {clearInterval(this.intervalId); // 在组件销毁前清除定时器  
})
</script><template><h1>{{ msg }}</h1><div><p>当前时间: {{ currentTime }}</p></div>
</template><style>h1{color:rgb(0, 255, 115);}
</style>

2. 效果

在这里插入图片描述

三、两者之间的区别

  1. 逻辑组织:组合式 API 允许你将相关的逻辑组合在一起,而不是分散在组件的各个选项中。这有助于提高代码的可读性和可维护性。

  2. 代码复用:使用组合式 API,你可以更容易地提取和复用逻辑代码段。你可以创建可复用的函数,这些函数可以接收 refreactive 等作为参数,并返回计算属性、方法等。

  3. TypeScript 支持:组合式 API 与 TypeScript 配合得更好,因为它允许你明确地定义组件的状态和类型。

  4. 响应式系统:组合式 API 提供了更底层的响应式系统 API,如 refreactive,这些 API 可以更直接地操作响应式数据。

  5. 向后兼容性:Vue 3 同时支持选项式 API 和组合式 API,以确保与 Vue 2 的向后兼容性。但是,Vue 官方推荐使用组合式 API 来开发新的 Vue 3 应用程序。


总结

回到顶部
总的来说,选择哪种 API 风格取决于你的具体需求和偏好。对于小型、简单的组件,选项式 API 可能已经足够。但是,对于大型、复杂的组件,组合式 API 可以提供更清晰、更可维护的代码结构。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com