导读: 搞懂这个知识点,秒杀80%前端面试题!原理+实战+调试技巧三合一
核心1:数据响应式黑科技(图解)
原理示意图
数据变化 → 依赖收集 → 自动更新视图
Vue 2 vs Vue 3实现对比
Vue2:Object.defineProperty (无法监听数组)
Vue3:Proxy (全方位监控)
面试常考手写实现
function reactive(obj) {
return new Proxy(obj, {
get(target, key) { track(target, key) },
set(target, key, value) { trigger(target, key) }
})
}
核心2:计算属性 vs 侦听器 使用场景
Computed:
<script>
computed: {
// 当依赖变化时自动计算
total() { return this.price * this.count }
}
</script>
Watch:
<script>
watch: {
// 数据变化时执行异步操作
searchText(newVal) { this.fetchData(newVal) }
}
</script>
性能陷阱:
滥用watch → 内存泄漏
用immediate+deep控制监听粒度
核心3:TodoList实战开发(可运行代码)
-
{{ task.text }}
<script>
export default {
data() {
return {
newTask: '',
tasks: []
}
},
methods: {
addTask() {
this.tasks.push({ id: Date.now(), text: this.newTask, done: false })
this.newTask = ''
},
deleteTask(id) {
this.tasks = this.tasks.filter(task => task.id !== id)
}
}
}
</script>
调试技巧:DevTools高级用法
- 查看组件层级关系
- 实时修改组件状态
- 追踪事件触发链路
- 性能分析工具使用