Поместите компонент, который вы хотите обернуть, в шаблон компонента-оболочки, добавьте v-bind="$attrs" v-on="$listeners"
к этому тегу компонента, затем добавьте внутренний компонент (и, необязательно, inheritAttrs: false
) в объект конфигурации компонента-оболочки.
Документация Vue, по-видимому, не охватывает это в руководстве или чем-то еще, но документы для $ attrs , $ listeners и inheritAttrs могут бытьнаходится в документации API Vue .Кроме того, термин, который может помочь вам при поиске этой темы в будущем, - « Компонент высшего порядка », который в основном совпадает с вашим использованием «компонента-оболочки».(Этот термин - то, как я первоначально нашел $ attrs)
Например ...
<!-- WrapperComponent.vue -->
<template>
<div class="wrapper-component">
<v-table v-bind="$attrs" v-on="$listeners"></v-table>
</div>
</template>
<script>
import Table from './BaseTable'
export default {
components: { 'v-table': Table },
inheritAttrs: false // optional
}
</script>