实战清单与排错
你将学会什么
Section titled “你将学会什么”- 按「script setup → computed → 交互 → watch/通信」的顺序学习
- 用四步排错顺序快速定位“页面不更新”
- 知道接口请求为什么要带加载态和错误态
如果你现在刚开始学 Vue3,最不容易卡壳的顺序是:
- 先学会
<script setup>和ref - 理解
computed与响应式依赖 - 学会用
v-for、v-if、@click做基础交互 - 再补
watch、watchEffect和组件通信
这个顺序不是最“全”的,但最能在最短时间内产出可运行的小页面。如果你遇到“页面不更新”“绑定失效”“样式突然错位”,按这个顺序排查通常最快:
- 确认变量是不是
ref,有没有忘记.value - 检查
v-for是否缺少:key - 看看是不是直接把新对象赋值给
reactive,导致引用断裂 - 确认事件名是不是写成了原生 DOM 写法,而不是 Vue 的
@click
很多新手问题其实不是“Vue 坏了”,而是响应式规则还没形成直觉。
再往上走一步:当你开始做多页面作品集或课程展示站时,最先接触的通常是路由。Vue Router 的最小理解是:路径和组件对应关系、动态参数如何传给页面、前进后退如何保持状态。而课程项目里最常见的动态需求就是从接口获取数据,学生最容易忽略加载态和错误态,一个最小可用的请求结构是:
import { ref } from 'vue'
const data = ref(null)const loading = ref(false)const error = ref('')
async function fetchCourses() { loading.value = true try { data.value = await fetch('/api/courses').then((r) => r.json()) } catch (e) { error.value = '加载失败' } finally { loading.value = false }}在模板里用 v-if 分别渲染加载中、结果和错误。能做到这一点,你的页面就已经具备生产级交互的基本骨架。
先自己回答,再看答案:
- “页面不更新”时,第一步应该检查什么?
- 接口请求为什么至少要准备三个状态?
- 做多页面作品集时,最值得补的能力是什么?
参考答案
- 确认变量是不是 ref,有没有忘记 .value。
- 加载中、成功、失败三种情况都要有对应状态,页面才不会白屏或永远转圈。
- 路由:路径与组件的对应关系、动态参数、前进后退的状态保持。
- 学习顺序:script setup → computed → v-for/v-if/@click → watch/通信
- 排错四步:.value → :key → reactive 引用 → 事件写法
- 接口请求三状态:data、loading、error,用 v-if 分别渲染