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

Vue2 父子组件某一属性的双向绑定

  • 原本:父组件使用props传值给孩子组件初始化,触发事件子组件使用$emit传值给父组件,很麻烦
  • 后来:使用computed和$event
  • 例子代码:
<template>
  <div class="box">
    grandpa <el-input v-model="model.title"></el-input>
    <Father :titleProp="model.title" @handleInput:titleProp="model.title = $event" />
  </div>
</template>

<script>
import Father from "./Father.vue";
export default {
  data() {
    return {
      model: {
        title: "",
      },
    };
  },
  components: {
    Father,
  },
  methods: {
    handleInput(val) {
      this.model.title = val;
    },
  },
};
</script>


<template>
  <div class="father" ref="father">
    father <el-input v-model="title"></el-input>
  </div>
</template>

<script>
export default {
  computed: {
    title: {
      get() {
        return this.$props.titleProp;
      },
      set(value) {
        this.$emit("handleInput:titleProp", value);
      },
    },
  },
  props: {
    titleProp: String,
  },
  methods: {},
};
</script>

在这里插入图片描述


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

相关文章:

  • 快手极速版如何查找ip归属地?怎么关掉
  • MySQL、HBase、ES的特点和区别
  • 算法(蓝桥杯)贪心算法7——过河的最短时间问题解析
  • YOLOv5训练长方形图像详解
  • 头盔识别技术
  • Perl语言的数据库编程
  • 【软件测试知识】什么是持续集成?
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:RichText)
  • 社区居民医疗健康系统 微信小程序
  • LabVIEW提升舱救援通讯监测系统
  • 香农公式的理解
  • 【Nuxt3】plugins目录介绍和nuxt3插件的用法
  • HackTheBox WifineticTwo
  • 速盾cdn:cdn节点缓存内容不一致怎么办?
  • leetcode 3080
  • 奇数乘积(C语言)
  • Python数据分析-Matplotlib1
  • IOS面试题object-c 131-135
  • TSINGSEE青犀AI烟火识别等算法打造电瓶车消防安全解决方案
  • Docker进阶:离线安装docker社区版(docker-18.06.3-ce)
  • vite+vue3项目中svg图标组件封装
  • 使用canvas实现图纸标记及回显
  • Requests教程-17-请求代理设置
  • microk8s使用本地私服registry的镜像http协议
  • The service already exists!怎么解决,Windows怎么安装/卸载服务?
  • RabbitMQ学习总结-消息的可靠性