在Vue3中,组合式API(Composition API)是一种全新的API,它允许开发者将组件逻辑从模板中分离出来,使得代码更加模块化和可复用。本文将带你轻松上手Vue3组合式API,并通过实战案例教你如何构建高效的前端应用。
一、什么是Vue3组合式API?
Vue3组合式API是基于Vue2的Options API,它通过引入Composition Function的概念,将组件的响应式逻辑和副作用处理封装在函数中,使得组件的逻辑更加清晰和可维护。
二、组合式API的核心概念
- setup() 函数:组件的入口函数,在组件初始化时被调用,用于返回一个对象,对象中可以包含响应式数据、计算属性、方法等。
- ref() 和 reactive():用于创建响应式数据。
- computed():用于定义计算属性。
- watch() 和 watchEffect():用于监听响应式数据的变化。
- onMounted()、onUpdated()、onUnmounted():生命周期钩子函数。
三、实战案例:构建一个简单的待办事项列表
以下是一个使用Vue3组合式API构建的待办事项列表的示例:
<template>
<div>
<input v-model="newTodo" @keyup.enter="addTodo" placeholder="添加待办事项" />
<ul>
<li v-for="(todo, index) in todos" :key="index">
{{ todo }}
<button @click="removeTodo(index)">删除</button>
</li>
</ul>
</div>
</template>
<script>
import { ref, computed } from 'vue';
export default {
setup() {
const newTodo = ref('');
const todos = ref([]);
const addTodo = () => {
if (newTodo.value.trim() !== '') {
todos.value.push(newTodo.value);
newTodo.value = '';
}
};
const removeTodo = (index) => {
todos.value.splice(index, 1);
};
const todoCount = computed(() => todos.value.length);
return {
newTodo,
todos,
addTodo,
removeTodo,
todoCount,
};
},
};
</script>
四、总结
通过本文的学习,相信你已经对Vue3组合式API有了初步的了解。在实际开发中,组合式API可以帮助你更好地组织代码,提高组件的可维护性和可复用性。希望本文能帮助你轻松构建高效的前端应用。
