在使用 v-model 双向绑定时,若需让某个标签(如 `
在 Vue 应用中,v-model 本质上是 :value 和 @input 的语法糖,它会自动同步视图与数据——这意味着只要 product.upc
发生变化,所有引用它的插值表达式(如 {{ product.upc }})都会立即更新。因此,若希望
推荐解决方案:分离显示与编辑状态
在组件 data 中声明一个独立的只读字段(如 upcLabel),并在组件挂载时(mounted)将其初始化为 product.upc 的当前值:
data() {
return {
product: {
upc: '123456789012'
},
upcLabel: '' // 用于静态显示的副本
}
},
mounted() {
this.upcLabel = this.product.upc
}模板中分别使用:
✅ 优势说明:
methods: {
resetUPC() {
this.product.upc = this.upcLabel
}
}⚠️ 注意事项:
此模式清晰区分了「展示意图」与「编辑意图」,是构建可控表单 UI 的基础实践。