$attrs 是什么?
$attrs是Vue实例的属性。
个人理解:
所谓的$arrts其实就是多级组件中的props,它就像一个中间件,用来传递爷组件给孙组件的数据,使用的时候只需给父组件中的孙组件配置 v-bind="$attrs" ,然后再爷组件中传入孙组件所需要的数据,孙组件正常接收即可。
为什么要用$attrs属性 ?
在实际开发过程中,会经常出现组件多级嵌套的情况,那么这个时候如上图所示,需要组件A传递数据给组件C,通常可以使用props依次传递 和 Vuex(状态管理)来实现,但是这两种方式要么代码臃肿不堪,要么大材小用,而这个时候$attrs就可以很好的解决这个问题。