Взгляните на раздел "Отключение наследования атрибутов" документации и описание API для получения полной информации.
Его основное использование - определитьтак называемые «прозрачные» компоненты, которые передают атрибуты.Пример, приведенный в документе, представляет собой компонент, заключающий в себе элемент input
:
// Component
Vue.component('base-input', {
inheritAttrs: false,
props: ['label', 'value'],
template: `
<label>
{{ label }}
<input
v-bind="$attrs"
v-bind:value="value"
v-on:input="$emit('input', $event.target.value)"
>
</label>
`
})
// Usage
<base-input
v-model="username"
required
placeholder="Enter your username"
/>
Атрибуты required
и placeholder
затем устанавливаются в input
вместо переноса label
.
Это на самом деле не имеет ничего общего с дочерними элементами дочерних компонентов, но его можно использовать в такой иерархии.
Я надеюсь, что это прояснит для вас.