组件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数据的值,可以看到当输入框的值发生变化时,该值也会相应地更新。

相关推荐
前行的小黑炭27 分钟前
设计模式:为什么使用模板设计模式(不相同的步骤进行抽取,使用不同的子类实现)减少重复代码,让代码更好维护。
android·java·kotlin
Mintopia27 分钟前
深入理解 Three.js 中的 Mesh:构建 3D 世界的基石
前端·javascript·three.js
前端太佬32 分钟前
暂时性死区(Temporal Dead Zone, TDZ)
前端·javascript·node.js
Java技术小馆32 分钟前
如何设计一个本地缓存
java·面试·架构
Mintopia33 分钟前
Node.js 中 http.createServer API 详解
前端·javascript·node.js
xRainco38 分钟前
Redux从简单到进阶(Redux、React-redux、Redux-toolkit)
前端
印第安老斑鸠啊39 分钟前
由一次CI流水线失败引发的对各类构建工具的思考
前端
CodePencil41 分钟前
CSS专题之外边距重叠
前端·css
hepherd43 分钟前
Flask学习笔记 - 表单
前端·flask
求知呀44 分钟前
最直观的 Cursor 使用教程
前端·人工智能·llm