vue 子组件接收父组件数据的方法

本文介绍了Vue中父组件如何向子组件传递数据,以及子组件如何通过props和this.attrs来接收这些数据。在示例中,父组件通过自定义属性将数据传给子组件,子组件使用props接收到部分数据,其余数据存储在this.attrs对象中。当父组件只传递一个数据时,this.attrs对象将为空。了解这一机制对于优化组件间的通信至关重要。
摘要由CSDN通过智能技术生成

vue 子组件接收父组件数据的方法
父组件

<template>
  <div>
     <Comp :name="dy" :title="title" :id="id"></Comp>
  </div>
</template>
<script>
import Comp from '@/views/dyState/child/comp'
export default {
  components: { Comp1, Comp2 },
  data() {
    return {
      name: "1",
      title: "2",
      id: "3"
    }
  },
}
</script>

子组件

export default {
  props: {
    name: '',
  },
  mounted() {
    console.log(this.$attrs)
    console.log(this.name)
  },
}

子组件打印接收数据结果:
console.log(this.$attrs) // { title:“2”,id:“3” }
console.log(this.name) // 1

标题

总结:父组件通过自定义属性传递数据给子组件,子组件接收时:
(1),子组件用this. a t t r s 全 部 接 收 , 获 取 到 的 是 所 有 数 据 对 象 ( 2 ) , 子 组 件 中 既 有 p r o p s , 也 有 t h i s . attrs全部接收,获取到的是所有数据对象 (2),子组件中既有props,也有this. attrs(2),propsthis.attrs,则子组件接收到的数据为props接收对应数据,剩下的在this. a t t r s 对 象 中 ; 如 果 父 组 件 只 传 递 了 一 个 数 据 , 则 t h i s . attrs对象中;如果父组件只传递了一个数据,则this. attrs;this.attrs接收到的数据为空## 标题
(3),子组件全部用props一个一个接收

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值