电力日志异常检测:数据集解析与AI模型实战
2026/7/27 8:22:14
如果说长列表卡是“肉眼可见的慢”,那重渲染问题就是那种:
页面不卡,但 CPU 飙高
操作没问题,但风扇狂转
而且这种问题,非常隐蔽。
简单说一句:
数据没变,但组件又 render 了一遍。
Vue 的响应式是依赖收集 + 派发更新。
conststate=reactive({user:{name:'',age:0},settings:{theme:'dark'}})如果你在组件里这样用:
state.user.name一旦state.user发生变化,整个依赖都会被标记为脏。
watch(state,()=>{doSomethingHeavy()},{deep:true})问题:
watch(()=>state.user.name,()=>{doSomething()})监听越精确,性能越好。
v-memo可以直接告诉 Vue:
这个组件,只在某些依赖变化时才重新渲染。
<div v-memo="[item.id]"> {{ item.name }} </div>只要item.id不变,这个节点就不会重新渲染。
constdata=ref(hugeObject)Vue 会递归追踪所有字段。
constdata=shallowRef(hugeObject)只关心引用变化,不追踪内部结构。
适合:
<BigList :list="list" />父组件任何更新,BigList都会重新渲染。
通过:
实测: