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>
相关推荐
码农幻想梦1 小时前
实验九 视图的使用
前端·数据库·oracle
开心工作室_kaic3 小时前
ssm010基于ssm的新能源汽车在线租赁管理系统(论文+源码)_kaic
java·前端·spring boot·后端·汽车
大力水手~4 小时前
css之loading旋转加载
前端·javascript·css
Nguhyb4 小时前
-XSS-
前端·xss
前端郭德纲4 小时前
深入浅出ES6 Promise
前端·javascript·es6
就爱敲代码4 小时前
ES6 运算符的扩展
前端·ecmascript·es6
王哲晓5 小时前
第六章 Vue计算属性之computed
前端·javascript·vue.js
究极无敌暴龙战神X5 小时前
CSS复习2
前端·javascript·css
风清扬_jd5 小时前
Chromium HTML5 新的 Input 类型week对应c++
前端·c++·html5
Hadoop_Liang5 小时前
Docker Compose一键部署Spring Boot + Vue项目
vue.js·spring boot·docker