以下是针对零基础学习者的 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周后即可独立开发简单应用! 🚀