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

相关推荐
阿虎儿11 分钟前
React Context 详解:从入门到性能优化
前端·vue.js·react.js
Ray Liang32 分钟前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Sailing35 分钟前
🚀 别再乱写 16px 了!CSS 单位体系已经进入“计算时代”,真正的响应式布局
前端·css·面试
Java水解1 小时前
Java 中间件:Dubbo 服务降级(Mock 机制)
java·后端
喝水的长颈鹿1 小时前
【大白话前端 03】Web 标准与最佳实践
前端
爱泡脚的鸡腿1 小时前
Node.js 拓展
前端·后端
左夕2 小时前
分不清apply,bind,call?看这篇文章就够了
前端·javascript
Zha0Zhun3 小时前
一个使用ViewBinding封装的Dialog
前端
兆子龙3 小时前
从微信小程序 data-id 到 React 列表性能优化:少用闭包,多用 data-*
前端
滕青山3 小时前
文本行过滤/筛选 在线工具核心JS实现
前端·javascript·vue.js