# Vue 实例属性
# $attrs
- 保存着所有在组件中,未在
props里定义的属性 - 一般搭配inheritAttrs: false
- 封装高阶组件使用较多
# $props
- 保存着所有在组件中,在
props中定义的属性
# $listeners
- 保存着所有在副作用域中(不含
.natvie)的v-on事件监听器;通过v-on传给子组件 - 封装高阶组件使用较多
高阶组件
<template>
<my-component v-bind="$attrs" v-on="$listeners"></my-component>
</template>
<script>
// ....
</script>
# $options
- 保存着Vue实例中的所有自定义属性
# $slots
- 保存着当前实例上所有插槽数据
this.$slots.default // 获取默认插槽
# $scopeSlots
- 保存着当前实例上所有作用域插槽的数据
this.$scopeSlots.default(...args) // 获取默认作用域插槽