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

相关推荐
宋哥转AI几秒前
Java后端转AI Agent:技术栈全景图与从ReAct到多Agent协作实战
java·人工智能·agent
樱花的浪漫2 分钟前
Typescript、Zod基础
前端·javascript·人工智能·语言模型·自然语言处理·typescript
Mr.Entropy3 分钟前
ecplise 导出maven依赖jar
java·maven·jar
杨了个杨89826 分钟前
HAproxy+Keepalive的简介及安装
运维·服务器
一叶知秋dong8 分钟前
llama.cpp 启动脚本
linux·服务器·llama
ANnianStriver10 分钟前
PetLumina 05 — App 端 UI 效果应用
java·ui·ai编程
不懂的浪漫12 分钟前
10|Netty native epoll 与零拷贝:从 Java NIO 再往下看一层![
java·netty·nio
许彰午12 分钟前
24_Java NIO核心组件
java·python·nio
桌面运维家13 分钟前
校园机房vDisk IDV云桌面建设方案价格参考
linux·服务器·数据库
竹林81814 分钟前
监听智能合约事件,我用 wagmi v2 踩了三天坑,终于找到了稳定方案
前端·javascript