`v-once` 是 Vue 自带的**「一次性插值」**指令,核心作用只有一句话:
·
`v-once` 是 Vue 自带的**「一次性插值」**指令,核心作用只有一句话:
> **渲染一次,永不再变。**
### 用法
```html
<span v-once>{{ msg }}</span>
```
- 组件首次渲染时,把 `msg` 的值写进 DOM;
- 此后即使 `msg` 发生变化,**视图不会重新更新**;
- 对应的虚拟节点也会被标记为 **静态(static)**,跳过后续 diff,**性能最优**。
### 典型场景
1. 纯展示型内容(如协议文本、静态表格、报表标题)。
2. 大规模列表中只读字段,可显著减少渲染开销。
3. 与 `<keep-alive>`、SSR 同构搭配,避免客户端再次渲染。
### 注意事项
- 只是**跳过更新**,并不会销毁数据;数据变动依旧会触发依赖,只是 DOM 不动。
- 不要把它当成“性能银弹”,滥用会导致界面“假死”——用户看到旧数据。
- 在 Vue3 的 Composition API 里用法相同,依旧写模板指令即可。
一句话记住:
**`v-once` = “拍快照”**:第一次长什么样,以后就永远什么样。
更多推荐



所有评论(0)