$attrs的使用
作用:$attrs可父子孙一脉相传(父系)的组件间的通信
可以用于高级多层组件间的封装
-
父子通信:
如果是父子组件之间的通信,在父组件传给子组件的数据,可用props来进行接收。如果不用props接收,父组件传过来的数据会在$attrs里面 -
父子孙通信
父组件的传给子组件的数据,子组件可以用props来接收,props没有接收完的的数据会在$attrs中,孙组件要想接收这个数据可以在子组件中加入v-bind='$attrs'
来传给孙子组件。这样孙子组件就可以接收它爷爷过来的数据了。
$attrs中包含的数据=(父组件总的传过来的数据-子组件props接收的数据)
$attrs的方便之处在于数据一层一层的传下去,不用每一层都用props接收之后再传给后面的组件。可以直接加一个v-bind='$attrs'
就可以传下去了
上图中父组件传了很多数据给子组件有 tableItems,menu,menuTochild等等
子组件中用porps接收了很多父组件传过来的数据,但是没有用props接收menu的数据,父组件也传了pageContent给孙组件,孙组件也没有用porps来接收pageContent
所以孙组件中的$attrs中包含了父组件的menu,和子组件的pageContent,其它的数据都被props接收走,没有到$attrs中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了