vue传值与$attrs

本文探讨了在Vue中如何使用$attrs进行组件属性的高效传递。当需要在组件间大量传递属性时,$attrs可以帮助避免冗余的props声明。例如,A组件向B和C组件传递属性,B只需接收必要的属性,其余属性通过$attrs传递给C,简化了代码并提高了可维护性。
摘要由CSDN通过智能技术生成

传值看这个https://www.cnblogs.com/barryzhang/p/10566515.html 但是他$attrs的部分不是太好

这个https://www.jianshu.com/p/f7fa47499b39 $attrs的部分写的还可以,

其实很多时候,你在vue或者react组件里面打印一下this就能发现很多属性,值得研究,

就好像window身上那么多属性,其实很值得研究,有很多很厉害的东西都源自这里

A B C三个组件

父子 子父传值 假如A传值给B,B传值给C,虽然是同一个值,但是这样冒号传,props接的很麻烦,可以看这篇文章,https://www.cnblogs.com/wuxianqiang/p/10452662.html 大意就是

比如A要传1个属性给B用,传10个给C用,但是父子传,就会B接收A的11个属性,然后传个C,C又props接收B的10个属性......很麻烦,但是用$attrs,在B身上v-bind="$attrs"(不能简写成:"$attrs或者:="$attrs") C就可以通过$attrs使用那10个没被Bprops接收的属性了,相当于少写了20个props接收语句

爷孙 孙爷传值 ($listenter感觉像是子爷传值)  所以用$attrs,他的作用是,比如A传了name,sex给B

那么B用props接收,接了多少,剩余的属性就会到$attrs身上,如果接完了,$attrs身上就没东西

然后C组件也可以通过$attrs拿到这些属性,当然再来一个D组价就拿不到了,只能三代(虽然没试过)

我感觉$attrs主要的作用就是两种情况 A有一大堆属性要往下传   ,1.A只想给B传一两个属性,但是想给C传很多属性  2.A想给B传很多属性,但是只想给C传一两个属性

这时候,如果用props接收,C也用props接收,就会非常多和冗余,比如有几十个属性,那就.......

这个时候$attrs的作用就来了,特别是针对情况1,B用props接收需要的那一两个属性,$attrs身上就有A传过来的剩余其他属性,B组件里可以$attrs点出来,C组件v-bind="$attrs"之后也可以在C组件中$attrs点出来

不需要props接收一堆...感觉主要是这个作用把

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值