跳转到内容

实战清单与排错

  • 按「script setup → computed → 交互 → watch/通信」的顺序学习
  • 用四步排错顺序快速定位“页面不更新”
  • 知道接口请求为什么要带加载态和错误态

如果你现在刚开始学 Vue3,最不容易卡壳的顺序是:

  1. 先学会 <script setup>ref
  2. 理解 computed 与响应式依赖
  3. 学会用 v-forv-if@click 做基础交互
  4. 再补 watchwatchEffect 和组件通信

这个顺序不是最“全”的,但最能在最短时间内产出可运行的小页面。如果你遇到“页面不更新”“绑定失效”“样式突然错位”,按这个顺序排查通常最快:

  1. 确认变量是不是 ref,有没有忘记 .value
  2. 检查 v-for 是否缺少 :key
  3. 看看是不是直接把新对象赋值给 reactive,导致引用断裂
  4. 确认事件名是不是写成了原生 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 分别渲染加载中、结果和错误。能做到这一点,你的页面就已经具备生产级交互的基本骨架。

先自己回答,再看答案:

  1. “页面不更新”时,第一步应该检查什么?
  2. 接口请求为什么至少要准备三个状态?
  3. 做多页面作品集时,最值得补的能力是什么?
参考答案
  1. 确认变量是不是 ref,有没有忘记 .value。
  2. 加载中、成功、失败三种情况都要有对应状态,页面才不会白屏或永远转圈。
  3. 路由:路径与组件的对应关系、动态参数、前进后退的状态保持。
  • 学习顺序:script setup → computed → v-for/v-if/@click → watch/通信
  • 排错四步:.value → :key → reactive 引用 → 事件写法
  • 接口请求三状态:data、loading、error,用 v-if 分别渲染
实战与排错小测
x
1 / 3

页面数据没更新时,第一步应该检查什么?