
本文详解 vue 3 composition api 下如何正确通过循环参数(如 key)访问并修改响应式对象中对应字段的 v-model 值,避免将原始字符串误作响应式引用,并提供可运行示例与关键注意事项。
本文详解 vue 3 composition api 下如何正确通过循环参数(如 key)访问并修改响应式对象中对应字段的 v-model 值,避免将原始字符串误作响应式引用,并提供可运行示例与关键注意事项。
在 Vue 3 中,v-model 绑定的是响应式数据的引用路径,而非原始值副本。你最初代码的问题在于:
- v-for="(item, idx) in data" 中的 item 是对象的值(如 'val1'),而非响应式引用;
- :v-model="item" 写法错误(应为 v-model,无冒号),且 item 是只读字符串,无法双向绑定;
- submitTest(item) 传入的是值本身,自然无法通过 .value 访问响应式属性。
✅ 正确做法是:保持对响应式对象的引用,并通过键名(key)动态访问其属性。以下是优化后的完整实现:

