$attrs
包含了父组件中不被认为(且不预期为)props的特性绑定(class和style除外)。当一个组件没有声明任何props时,这时会包含所有父组件的绑定(class和style除外),并且可以通过v-bind="$attrs"传入内部组件-在创建更高层次的组件时非常有用。
$listeners
包含了父组件中的(不含.native修饰器)v-on事件监听器。它可以通过v-on="$listeners"传入内部组件-在创建更高层次的组件时非常有用。
inheritAttrs
默认情况下父组件的不被认作props的特性绑定(attribute bindings)将会“回退”且作为普通的HTML特性应用到子组件的根元素上,当撰写包裹一个目标元素或另一个组件的组件时,这可能不会总是符合预期行为。通过设置 inheritAttrs 到 false,这些默认行为将会被去掉。而通过 (同样是 2.4 新增的) 实例属性 $attrs 可以让这些特性生效,且可以通过 v-bind 显性的绑定到非根元素上。
上述特性的使用完全可以降低在不使用Vuex以及事件总线的情况下,组件跨级props以及事件传递的复杂度。