vue3 emits: [‘update:modelValue‘]

在 Vue.js 中,emits 选项用于声明组件可以触发的事件。['update:modelValue'] 是 Vue 3 中用于自定义组件与 v-model 指令配合工作的特殊事件名。

当您使用 v-model 指令与自定义组件进行双向绑定时,Vue 内部实际上是在做以下操作:

  1. value 作为 prop 传递给组件。
  2. 监听组件触发的 update:modelValue 事件,并更新父组件的数据。

所以,当您在自定义组件中声明 emits: ['update:modelValue'],您实际上是在告诉 Vue:"这个组件可以触发一个事件来更新与 v-model 绑定的值"。

以下是一个简单的例子:

MyComponent组件

vue 复制代码
<template>
  <input :value="modelValue" @input="updateValue">
</template>

<script>
export default {
  props: {
    modelValue: {
      type: String,
      default: ''
    }
  },
  emits: ['update:modelValue'],
  methods: {
    updateValue(event) {
      this.$emit('update:modelValue', event.target.value);
    }
  }
}
</script>

在这个例子中,自定义组件接收一个名为 modelValue 的 prop,并在输入框的值发生变化时触发 update:modelValue 事件。这样,当您在父组件中使用 v-model 与此组件绑定时,父组件的数据将会随着输入框的值的变化而更新。

vue 复制代码
<MyComponent v-model="someData" />

这里的 someData 会随着 MyComponent 内部的输入框的值的变化而更新。

相关推荐
牛奶13 分钟前
AI辅助开发的基础概念
前端·人工智能·ai编程
摸鱼的春哥16 分钟前
Agent教程15:认识LangChain,Agent框架的王(上)
前端·javascript·后端
明月_清风1 小时前
自定义右键菜单:在项目里实现“选中文字即刻生成新提示”
前端·javascript
明月_清风1 小时前
告别后端转换:高质量批量导出实战
前端·javascript
刘发财6 小时前
弃用html2pdf.js,这个html转pdf方案能力是它的几十倍
前端·javascript·github
牛奶8 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶8 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
Kagol11 小时前
🎉OpenTiny NEXT-SDK 重磅发布:四步把你的前端应用变成智能应用!
前端·开源·agent
GIS之路12 小时前
ArcGIS Pro 中的 notebook 初识
前端
JavaGuide12 小时前
7 道 RAG 基础概念知识点/面试题总结
前端·后端