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>
相关推荐
xiaotao1312 小时前
第九章:Vite API 参考手册
前端·vite·前端打包
午安~婉2 小时前
Electron桌面应用聊天(续)
前端·javascript·electron
彧翎Pro3 小时前
基于 RO1 noetic 配置 robosense Helios 32(速腾) & xsense mti 300
前端·jvm
小码哥_常3 小时前
解锁系统设置新姿势:Activity嵌入全解析
前端
之歆3 小时前
前端存储方案对比:Cookie-Session-LocalStorage-IndexedDB
前端
哟哟耶耶3 小时前
vue3-单文件组件css功能(:deep,:slotted,:global,useCssModule,v-bind)
前端·javascript·css
是罐装可乐3 小时前
深入理解“句柄(Handle)“:从浏览器安全到文件系统访问
前端·javascript·安全
华科易迅4 小时前
Vue如何集成封装Axios
前端·javascript·vue.js
康一夏4 小时前
Next.js 13变化有多大?
前端·react·nextjs
糖炒栗子03264 小时前
前端项目标准环境搭建与启动
前端