Vue-关于父子间通信双向绑定

本文详细介绍Vue.js中子父组件间的数据通信方式,包括插槽的使用、监听数据变化及使用.sync与@事件通知来实现双向绑定的技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

​ 封装统一组件的时候需要在父子组件的过程中进行数据通信,双向绑定,简单记录使用方法。

插槽的使用
props: {
  text: {
    type: String,
    default: ''
  }
}
组件监听
watch: {
  // 子组件监听到当前实例数据变化 同步到父组件内
  content: {
    handler() {
      console.log('监听到数据变化')
        
      // 采用 .sync 修饰时的同步方法
      this.$emit('update:text', this.content)
      // 采用 @ 事件通知时的方法
      this.$emit("text", content)
    }
  },
  // 监听到来自父组件的数据变化 同步到当前实例内
  text: {
    handler() {
      this.content = this.text
    },
  }
},
使用.sync对变量名修饰
  • 父组件使用
<editor v-model="tipsForm.contentHtml" :text.sync="tipsForm.text" :min-height="192"/>
  • 子组件使用
this.$emit("update:text", content)
使用 @ 对变量变化做监控
  • 父组件使用
<editor v-model="tipsForm.contentHtml" @text="handleTextChang" :min-height="192"/>

// 使用方法 handleTextChang 获取
handleTextChang(data){
  // 数据内容
}
  • 子组件使用
this.$emit("text", content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值