以下是针对零基础学习者的 Vue 3 入门指南,涵盖环境搭建、核心概念和实战练习,助你快速上手:
安装 Node.js
官网下载 Node.js(LTS版本),安装后验证:
bashnode -v # 显示版本号即成功npm -v
创建 Vue 项目
使用 Vite(推荐超快构建工具):
npm create vue@latest
按提示选择配置(新手选默认即可),完成后:
cd 项目名
npm instal
npm run dev
打开 http://localhost:5173
看到欢迎页即成功!
开发工具
编辑器:VS Code(安装插件 Volar
和 Vue Language Features
)
浏览器:安装 Vue Devtools 调试工具
vue<template> <div> <h1>{{ message }}</h1> <button @click="changeText">点击修改</button> </div> </template> <script setup> import { ref } from 'vue' const message = ref('Hello Vue 3!') const changeText = () => { message.value = '你学会了第一个交互!' } </script>
重点:
{{ }}
插值表达式
@click
事件绑定
ref
定义响应式数据
vue<template> <div v-if="showMessage">显示这段文字</div> <ul> <li v-for="item in items" :key="item.id">{{ item.name }}</li> </ul> </template> <script setup> import { ref } from 'vue' const showMessage = ref(true) const items = ref([ { id: 1, name: '苹果' }, { id: 2, name: '香蕉' } ]) </script>
指令解析:
v-if
/ v-show
:控制显示(v-if
销毁元素,v-show
切换 CSS)
v-for
:循环渲染,必须加 :key
父传子(Props):
vue<!-- 父组件 --><ChildComponent :title="parentTitle" /> <!-- 子组件 --> <script setup> defineProps({ title: String }) </script>
子传父(自定义事件):
vue<!-- 子组件 --><button @click="$emit('update', data)">传递数据</button> <!-- 父组件 --> <ChildComponent @update="handleUpdate" />
vue<template> <div> <input v-model="newTodo" @keyup.enter="addTodo" placeholder="输入任务"> <ul> <li v-for="(todo, index) in todos" :key="index"> {{ todo.text }} <button @click="removeTodo(index)">删除</button> </li> </ul> </div> </template> <script setup> import { ref } from 'vue' const newTodo = ref('') const todos = ref([]) const addTodo = () => { if (newTodo.value.trim()) { todos.value.push({ text: newTodo.value }) newTodo.value = '' } } const removeTodo = (index) => { todos.value.splice(index, 1) } </script>
实现功能:
输入任务并回车添加
显示任务列表
点击删除按钮移除任务
Composition API:
reactive
和 ref
区别
computed
计算属性
watch
/ watchEffect
监听数据变化
路由管理:
学习 Vue Router实现多页面跳转
状态管理:
使用 Pinia(替代 Vuex)管理全局状态
UI 框架:
可选 Element Plus 或 Vuetify快速搭建界面
官方文档:Vue.js 中文文档(优先阅读)
免费教程:
B站:尚硅谷《Vue3快速上手》
实操平台:CodePen Vue 3
项目实战:
仿写知乎首页
开发简易博客系统
❌ 修改 ref
数据时忘记加 .value
❌ v-for
循环未绑定 :key
导致渲染异常
❌ 组件命名未用 PascalCase(如 MyComponent.vue
)
关键原则:先动手写代码 → 遇到问题查文档 → 理解原理再优化。
从今天开始,每天写一个小功能,2周后即可独立开发简单应用! 🚀