Vue 3 的 Composition API 是一组新的、更强大的 API,它们使得在 Vue 组件中组织和共享代码更加容易和直观。这个 API 提供了许多实用的函数,包括 ref、reactive、watch、watchEffect、onMounted、onUpdated 等等。
Composition API 相比于 Vue 2.x 的 Options API,有着以下的优点:
- 更好的组织:Composition API 可以帮助你把组件的逻辑拆分成更小的、更独立的部分,使得代码更易于理解和维护。
- 更少的冲突:由于 Composition API 是基于 JavaScript 的,因此不会像 Options API 那样容易发生命名冲突。
- 更清晰的 API:Composition API 的函数设计得更清晰、更直观。它们明确地说明它们的用途,以及它们需要什么参数。
- 更好的性能:Composition API 使用更少的内存和 CPU,因为它们没有 Options API 中的许多限制和额外的数据结构。
例如,你可以使用 ref 来创建一个响应式的对象或值:
js复制代码import { ref } from 'vue'; export default { setup() { const count = ref(0); return { count } } }
使用 reactive 来创建一个响应式的对象:
js复制代码import { reactive } from 'vue'; export default { setup() { const state = reactive({ count: 0, }); return { state } } }
使用 watch 或 watchEffect 来监听或响应一个值的变化:
js复制代码import { ref, watch } from 'vue'; export default { setup() { const count = ref(0); watch(count, (newValue, oldValue) => { console.log(`count changed from ${oldValue} to ${newValue}`); }); return { count } } }
