当前位置:首页 > VUE

vue双向绑定实现案例

2026-01-23 08:10:21VUE

Vue 双向绑定实现案例

Vue 的双向绑定通过 v-model 指令实现,结合了数据绑定和事件监听。以下是几种常见场景的实现案例:

vue双向绑定实现案例

基础输入框绑定

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

<script>
export default {
  data() {
    return {
      message: ''
    }
  }
}
</script>
  • v-model 绑定 message 数据,输入框内容变化时自动更新数据,页面渲染同步显示。

复选框绑定

<template>
  <input type="checkbox" v-model="isChecked">
  <label>{{ isChecked ? '已选中' : '未选中' }}</label>
</template>

<script>
export default {
  data() {
    return {
      isChecked: false
    }
  }
}
</script>
  • 适用于布尔值场景,复选框状态与 isChecked 数据双向同步。

单选按钮绑定

<template>
  <input type="radio" v-model="selectedOption" value="A">
  <label>选项A</label>
  <input type="radio" v-model="selectedOption" value="B">
  <label>选项B</label>
  <p>当前选择:{{ selectedOption }}</p>
</template>

<script>
export default {
  data() {
    return {
      selectedOption: 'A'
    }
  }
}
</script>
  • 多个单选按钮绑定同一数据,选中时更新为对应的 value 值。

下拉选择框绑定

<template>
  <select v-model="selectedFruit">
    <option disabled value="">请选择</option>
    <option value="apple">苹果</option>
    <option value="banana">香蕉</option>
  </select>
  <p>选择的水果:{{ selectedFruit }}</p>
</template>

<script>
export default {
  data() {
    return {
      selectedFruit: ''
    }
  }
}
</script>
  • select 元素的绑定方式与输入框类似,数据同步为选中项的 value

自定义组件双向绑定

若需在自定义组件中实现 v-model,需定义 model 选项并触发事件:

<!-- 父组件 -->
<template>
  <CustomInput v-model="customValue" />
</template>

<script>
export default {
  data() {
    return {
      customValue: ''
    }
  }
}
</script>

<!-- 子组件 CustomInput.vue -->
<template>
  <input 
    :value="value" 
    @input="$emit('input', $event.target.value)"
  >
</template>

<script>
export default {
  props: ['value']
}
</script>
  • 子组件通过 props 接收 value,并通过 $emit('input') 通知父组件更新数据。

修饰符应用

v-model 支持修饰符,例如 .lazy(转为 change 事件触发)、.number(自动转为数字):

<input v-model.lazy="lazyMessage">
<input v-model.number="numericValue" type="number">

以上案例覆盖了 Vue 双向绑定的核心用法,可根据实际需求组合或扩展。

vue双向绑定实现案例

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

相关文章

vue实现事件绑定的是

vue实现事件绑定的是

Vue 事件绑定实现方式 Vue 通过 v-on 指令实现事件绑定,语法为 v-on:事件名="处理方法" 或简写为 @事件名="处理方法"。以下是具体实现方法和示例: 基础事件绑定 <bu…

vue实现双向

vue实现双向

Vue 实现双向绑定的方法 Vue 主要通过 v-model 指令实现双向绑定,适用于表单元素或自定义组件。以下是几种常见实现方式: 表单元素的双向绑定 在表单元素(如 input、textarea…

vue 绑定实现

vue 绑定实现

Vue 数据绑定实现 Vue 的数据绑定主要通过响应式系统和模板编译实现,以下是核心实现方式: 双向绑定 (v-model) 适用于表单元素,自动同步输入值与 Vue 实例数据: <inpu…

实现vue双向绑定

实现vue双向绑定

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

vue 实现循环绑定

vue 实现循环绑定

Vue 实现循环绑定的方法 在 Vue 中,可以通过 v-for 指令实现循环绑定,用于渲染列表或对象数据。以下是几种常见的实现方式: 数组循环绑定 使用 v-for 遍历数组,可以通过索引或直接获…

vue如何实现绑定

vue如何实现绑定

数据绑定基础 Vue 通过 v-bind 指令实现动态绑定 HTML 属性或组件 prop。基本语法为 v-bind:属性名="表达式",简写为 :属性名="表达式"。例如绑定 class 或 sty…