2026-01-22 20:11:35
v-model 是 Vue.js 中用于实现表单输入元素与数据模型双向绑定的指令。它简化了开发者手动处理输入事件和更新数据模型的操作,提升了代码的可读性和可维护性。
基本用法:将 v-model 绑定到表单输入元素(如文本框、复选框、单选按钮等),并指定一个数据模型属性。例如:
<input type="text" v-model="message">此时,message 是 Vue 实例中的一个数据属性,v-model 会自动将其与输入框的值同步。
工作原理:
设置初始值:v-model 会将表单元素的初始值设置为数据模型中绑定属性的当前值。
监听输入事件:当用户输入时,v-model 自动监听事件(如 input 或 change),并更新数据模型中的属性值。
更新视图:若数据模型中的属性值被程序修改,v-model 会同步更新表单元素的值。
优点:
简化双向绑定:无需手动编写事件监听和值更新逻辑。
减少冗余代码:避免重复处理输入事件和状态同步。
提升可维护性:代码更简洁,逻辑更清晰。
适用场景:v-model 不仅支持文本输入框,还适用于多种表单元素:
文本框(<input type="text">)
复选框(<input type="checkbox">)
单选按钮(<input type="radio">)
下拉选择框(<select>)
自定义组件(通过 model 选项或 .sync 修饰符实现)。
注意事项:
对于非表单元素(如 div),需通过事件和属性手动实现类似功能。
在自定义组件中使用时,需明确指定 value 和 input 事件的绑定逻辑。
通过 v-model,Vue.js 高效地实现了数据与视图的同步,是开发交互式表单时的核心工具之一。