00:42:21
本教程通过构建完整任务管理应用,全面解析 Vue.js 2025 最新技术栈。你将掌握 TypeScript 类型安全开发、script setup 语法糖、Composition API 状态管理等核心技能,并学习动画效果、组件通信等实战技巧。
pnpm create vite@latest
ref() 创建基础响应式数据:
const newTask = ref<string>('')
v-model 双向数据绑定:
<input v-model="newTask" />
Props 向下传递
父组件通过属性传递数据:
<TaskList :tasks="filteredTasks" />
Emits 向上传递
子组件触发自定义事件:
emit('addTask', newTaskValue)
TypeScript 类型安全
使用 defineProps 和 defineEmits:
defineProps<{ tasks: Task[] }>()
const totalDone = computed(() => { return tasks.value.reduce((total, task) => task.done ? total + 1 : total, 0 ) })
computed 自动追踪依赖,仅当相关状态变化时重新计算
TransitionGroup 应用:
<TransitionGroup name="task-list" tag="div"> <div v-for="task in tasks" :key="task.id"> // 任务项 </div> </TransitionGroup>
CSS 动画定义:
.task-list-move { transition: transform 0.3s ease; }
特性 | Options API | Composition API + script setup |
---|---|---|
代码组织 | 按选项类型(data/methods)分组 | 按功能逻辑组织相关代码 |
TypeScript 支持 | 有限支持 | 完整类型推断 |
组件模板 | 需显式注册组件 | 自动组件推断 |