文档
包含了父作用域中不作为 prop 被识别 (且获取) 的 attribute 绑定 (class 和 style 除外)。当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 (class 和 style 除外),并且可以通过 v-bind="$attrs" 传入内部组件——在创建高级别的组件时非常有用。
理解
父组件传入子组件的数据,有两种情况存放。
当子组件写了props接收后,数据会成为子组件实例对象的属性;没有写props接受的话,数据会存放到子组件实例对象中的$attrs属性中。例如:
// 父组件
<HelloWorld :name='name' :age='age'></HelloWorld>
// 子组件
props: {
name:{
type: String
}
},
使用:
祖先组件:
<div>
<fater :name='name' ></fater>
</div>
父组件,不写props
<div>
<son v-bind='$attrs'></son>
</div>
子组件,写props接收
<div>
<h1>{{name}}</h1>
</div>
总结
适用于祖先传子孙。但是我感觉跟props区别好像不大,不知道我是不是漏了什么东西。