vue 组件实现v-model

ChatgGPT4.0国内站点: 海鲸AI

在Vue中,可以通过使用v-model指令来实现双向数据绑定。如果你想在自定义组件中使用v-model,需要做一些额外的工作。

首先,在组件的props中定义一个名为value的属性,用于接收父组件传递的值。然后,在组件内部,通过$emit方法触发一个名为input的自定义事件,并将新的值作为参数传递给父组件。

以下是一个示例:

javascript 复制代码
<template>
  <input :value="value" @input="updateValue($event.target.value)">
</template>

<script>
export default {
  props: ['value'],
  methods: {
    updateValue(newValue) {
      this.$emit('input', newValue);
    }
  }
}
</script>

在父组件中,你可以像使用原生的v-model一样使用这个自定义组件:

javascript 复制代码
<template>
  <div>
    <custom-input v-model="message"></custom-input>
    <p>Message: {{ message }}</p>
  </div>
</template>

<script>
import CustomInput from './CustomInput.vue';

export default {
  components: {
    CustomInput
  },
  data() {
    return {
      message: ''
    }
  }
}
</script>

这样,当在custom-input组件中输入文本时,父组件中的message属性也会随之更新,实现了双向数据绑定。

相关推荐
张可爱1 分钟前
20251115复盘记录:让分页乖乖“坐好”+ 卡片统一渐变描边与圆角
前端
Jonathan Star9 分钟前
基于 **Three.js** 开发的 3D 炮弹发射特效系统
javascript·数码相机·3d
Cache技术分享18 分钟前
241. Java 集合 - 使用 Collections 工厂类处理集合
前端·后端
Lear19 分钟前
解决Flex布局中overflow:hidden失效
前端
Heo20 分钟前
原型理解从入门到精通
前端·javascript·后端
Heo24 分钟前
通用会话控制方案
前端·javascript·后端
Heo28 分钟前
跨域问题解决方案汇总
前端·javascript·后端
Yuroo zhou31 分钟前
石油钻井、HDD、采矿:不同工况下,如何抉择您的陀螺定向短节?
前端·科技·硬件架构·钻井·采矿
shmily麻瓜小菜鸡34 分钟前
Element Plus 的 <el-table> 怎么点击请求后端接口 tableData 进行排序而不是网络断开之后还可以自己排序
前端·javascript·vue.js
二川bro1 小时前
第38节:WebGL 2.0与Three.js新特性
开发语言·javascript·webgl