当前位置: 首页 > article >正文

vue2自定义useVModel函数

父组件:

<template>
<div>
 父组件数据名字:<input v-model="person.name">
 父组件数据年龄:<input v-model="person.age">
 <son v-model="person"></son>
</div>
</template>

<script>
import Son from './son.vue'
export default ({
    name:'test',
    components:{Son},
    data(){
        return{
            person:{
                name:'zsh',
                age:'18'
            }
        }
    }
})
</script>

子组件:

<template>
<div>
    {{pdata}}
 子组件数据名字:<input v-model="pdata.name">
 子组件数据年龄:<input v-model="pdata.age">
</div>
</template>

<script>
export default ({
    name:'Son',
    props:{
    value: {
        type: Object,
        default: () => ({}),
        },
    },
    computed:{
        pdata: {
            get(){
                const that = this;
                return new Proxy(this.value, {
                    get(target, key, receiver) {
                         return target[key];
                    },
                    set(target, key, value){
                        console.log('子组件修改了数据')
                        that.$emit("input", { ...target, [key]: value });
                        return true;
                    },
                })
            },
            set(value) {
                console.log("修改了value", value);
                this.$emit("input", value);
            },
        },
    }
})
</script>


http://www.kler.cn/a/554222.html

相关文章:

  • 【MySQL】ERROR 1524 (HY000): Plugin ‘mysql_native_password‘ is not loaded 解决方法
  • Docker 部署 Dify:轻松集成 Ollama 和 DeepSeek
  • 第1章大型互联网公司的基础架构——1.7 MySQL
  • RTSP协议讲解及漏洞挖掘
  • 西电B测-计算机网络综合实验(含验收问题)
  • 分享8款AI生成PPT的工具!含测评
  • 面试题之手写call,apply,bind
  • 【数据迁移】Sqlserver 迁移 Postgresql 详解 CSV+COPY 详细图文教程(实战踩坑优化案例)
  • 无人机热成像与AI跟踪技术:全天候智能应用的未来!
  • 运用先进的智能算法和优化模型,进行科学合理调度的智慧园区开源了
  • Vue的$nextTick是如何工作的
  • vue中为组建添加样式的方式
  • 使用docker-compose运行服务
  • 大摩闭门会:250218 学习总结报告
  • EasyExcel快速入门
  • 短视频平台“封号圈”乱象猖獗,IP查询如何助力防范
  • 【llm post-training】从Loss Function设计上看LLM SFT和RL的区别和联系
  • 在Linux上安装和使用Docker
  • Linux日志系统
  • 使用mybatis -基本的增删改查