当前位置:首页 > JavaScript

怎么用vue.js实现双向绑定

2026-03-01 11:57:06JavaScript

使用 Vue.js 实现双向绑定

Vue.js 通过 v-model 指令实现双向绑定,主要用于表单元素与数据的同步更新。以下是具体实现方法:

基本语法

在模板中使用 v-model 绑定数据属性:

<input v-model="message" placeholder="输入内容">
<p>输入的内容是:{{ message }}</p>

在 Vue 实例中定义数据:

new Vue({
  el: '#app',
  data: {
    message: ''
  }
})

表单元素支持

  1. 文本输入框

    <input type="text" v-model="textValue">
  2. 多行文本

    <textarea v-model="multilineText"></textarea>
  3. 复选框
    单个复选框绑定布尔值:

    <input type="checkbox" v-model="isChecked">

    多个复选框绑定数组:

    怎么用vue.js实现双向绑定

    <input type="checkbox" value="A" v-model="checkedItems">
    <input type="checkbox" value="B" v-model="checkedItems">
  4. 单选按钮

    <input type="radio" value="Option1" v-model="selectedOption">
    <input type="radio" value="Option2" v-model="selectedOption">
  5. 下拉选择框

    <select v-model="selectedOption">
      <option value="A">选项A</option>
      <option value="B">选项B</option>
    </select>

修饰符

  1. .lazy
    将输入事件改为 change 事件触发同步:

    <input v-model.lazy="message">
  2. .number
    自动将输入转为数字类型:

    怎么用vue.js实现双向绑定

    <input v-model.number="age" type="number">
  3. .trim
    自动去除首尾空格:

    <input v-model.trim="message">

自定义组件双向绑定

在自定义组件中实现 v-model 需要定义 value prop 和 input 事件:

Vue.component('custom-input', {
  props: ['value'],
  template: `
    <input 
      :value="value"
      @input="$emit('input', $event.target.value)"
    >
  `
})

使用时与原生元素一致:

<custom-input v-model="message"></custom-input>

原理说明

Vue.js 的双向绑定本质是语法糖,等价于:

<input 
  :value="message" 
  @input="message = $event.target.value"
>

标签: 绑定双向
分享给朋友:

相关文章

vue实现双向滚动

vue实现双向滚动

实现双向滚动的 Vue 方法 双向滚动通常指两个关联的滚动区域(如表格的头部和内容部分)同步滚动。以下是几种实现方式: 使用事件监听和 scroll 方法 通过监听一个滚动区域的 scroll 事件…

怎么实现vue双向绑定

怎么实现vue双向绑定

Vue 双向绑定的实现原理 Vue 的双向绑定主要通过 v-model 指令实现,其核心是结合数据劫持(Object.defineProperty 或 Proxy)和发布-订阅模式。 使用 v-mo…

vue绑定图片实现默认

vue绑定图片实现默认

vue绑定图片实现默认的方法 在Vue中绑定图片并设置默认图片,可以通过多种方式实现。以下是几种常见的方法: 使用v-bind绑定图片路径 在模板中使用v-bind指令绑定图片路径,同时设置默认图…

vue表单实现双向绑定

vue表单实现双向绑定

Vue 表单双向绑定实现方法 Vue 通过 v-model 指令实现表单元素与数据的双向绑定。以下是常见表单元素的双向绑定示例: 文本输入框 <input type="text" v-mode…

vue动态绑定的实现

vue动态绑定的实现

Vue 动态绑定的实现方法 Vue 的动态绑定主要通过 v-bind 指令或简写 : 实现,用于动态地将数据绑定到 HTML 元素的属性上。以下是几种常见的动态绑定实现方式: 动态绑定属性 <…

vue如何实现表单绑定

vue如何实现表单绑定

Vue 表单绑定实现方法 Vue 提供了 v-model 指令实现表单元素的双向数据绑定,适用于多种输入类型。 文本输入框绑定 <input type="text" v-model="mess…