组件v-model

以下是一个简单的示例,展示了如何使用组件和v-model来实现数据的双向绑定:

复制代码
<template>
  <div>
    <custom-input v-model="message"></custom-input>
    <p>输入的内容为: {{ message }}</p>
  </div>
</template>

<script>
  import CustomInput from './CustomInput.vue';
  
  export default {
    components: {
      CustomInput
    },
    data() {
      return {
        message: ''
      }
    }
  }
</script>

// CustomInput.vue

<template>
  <input type="text" :value="value" @input="$emit('input', $event.target.value)">
</template>

<script>
  export default {
    props: ['value']
  }
</script>

在上面的示例中,父组件使用了一个自定义的&lt;custom-input>组件,并使用v-model指令将message数据双向绑定到该组件。

自定义组件中,我们通过接收一个value属性来接收父组件传递的数据,并在输入框中使用该属性。当输入框的值发生变化时,我们通过$emit方法触发了一个名为input的事件,并传递了输入框的新值。父组件监听了该事件,并更新了message数据,从而实现了数据的双向绑定。

最终,我们在父组件中显示了message数据的值,可以看到当输入框的值发生变化时,该值也会相应地更新。

相关推荐
万少1 小时前
使用Trae轻松安装openclaw的教程-附带免费token
前端·openai·ai编程
浪浪山_大橙子1 小时前
OpenClaw 十分钟快速,安装与接入完全指南 - 推荐使用trae 官方 skills 安装
前端·人工智能
忆江南1 小时前
iOS 可视化埋点与无痕埋点详解
前端
离开地球表面_991 小时前
金三银四程序员跳槽指南:从简历到面试再到 Offer 的全流程准备
前端·后端·面试
_柳青杨1 小时前
跨域获取 iframe 选中文本?自己写个代理中间层,再也不求后端!
前端
比尔盖茨的大脑1 小时前
事件循环底层原理:从 V8 引擎到浏览器实现
前端·javascript·面试
天才熊猫君1 小时前
Vue3 命令式弹窗原理和 provide/inject 隔离机制详解
前端
bluceli1 小时前
Vue 3 Composition API深度解析:构建可复用逻辑的终极方案
前端·vue.js
beata2 小时前
Java基础-18:Java开发中的常用设计模式:深入解析与实战应用
java·后端
程序员ys2 小时前
前端权限控制设计
前端·vue.js·react.js