v-model双向绑定组件通信

给input元素绑定原生input事件,触发input事件时,进而触发update:model-value事件

javascript 复制代码
<template>
<Child v-model="lastName" v-if="true"></Child>
<p >{{lastName}}</p>
</template>
<script>
import Child from "./components/child.vue"
data() {
    return {
      lastName: '我是父组件'
    };
  },
</script>

子组件

javascript 复制代码
<template>
    <div>
        我是child组件
        <!-- <input type="text" :value="lastName" @input="$emit('update', $event.target.value)"> -->
        <input type="text" v-model="input">
    </div>
</template>
<script>
export default {
    name: 'Child',
    props: ['lastName'],
    model:{
        prop: 'lastName',
        event: 'update'
    },
    data() {
        return {
          // value: this.lastName,
        }
    },
    computed: {
        input: {
            get() {
                return this.lastName;
            },
            set(val) {
                this.$emit('update', val);    // 触发
            }
        }
    },
    mounted() {
       
    },
    methods: {
   
    },
    
}
</script>
相关推荐
Fireworks13 分钟前
深入vue3源码解读 -- 1、响应式的基础概念
前端
程序员黑豆14 分钟前
JDK 下载安装与配置详细教程
java·前端·ai编程
hunterandroid18 分钟前
文件存储:内部存储与外部存储
前端
NorBugs1 小时前
飞机大战 Low 版 (Made in AI)
前端
angerdream1 小时前
Android手把手编写儿童手机远程监控App之agentweb如何实现全屏
前端
星栈1 小时前
10 分钟跑起第一个 Dioxus 应用:`dx` CLI、`rsx!` 和热更新好不好用
前端·rust·前端框架
奋斗吧程序媛2 小时前
补充一个小知识点:有关@click.native
前端·vue.js
英勇无比的消炎药2 小时前
一行命令背后:TinyRobot CLI 如何重构 AI 对话接入的效率范式
vue.js·aigc
触底反弹2 小时前
🚀 手把手用 HTML5 Canvas 从零打造飞机大战游戏,代码全开源!
前端·javascript·canvas
DJ斯特拉2 小时前
axios快速使用
开发语言·前端·javascript