У меня есть (много пар) два компонента, один из которых отображает элементы, а другой - показывает / редактирует детали для одного элемента. Оба имеют контекстное меню с соответствующими действиями / информацией для выбранных элементов. Эти действия / информация одинаковы для обоих компонентов. Похоже, для чего предназначен Mixin. Прекрасно работает, пока действие не должно содержать информацию в шаблоне компонентов.
list.vue
<template>
<div>
<List :items="itemss" :actions="actionsFromActionsMixin">
</List>
<b-modal lazy id="modalTriggeredByAction1" >
</b-modal>
<b-modal lazy id="modalTriggeredByAction2" >
</b-modal>
</div>
</template>
<script>
import List from '../crud_base/List';
import { actionsMixin } from './actionsMixin.js'
...
</script>
item.vue
<template>
<div>
<Form :item="item" :actions="actionsFromActionsMixin">
</Form>
<b-modal lazy id="modalTriggeredByAction1" >
</b-modal>
<b-modal lazy id="modalTriggeredByAction2" >
</b-modal>
</div>
</template>
<script>
import Form from '../crud_base/Form';
import { actionsMixin } from './actionsMixin.js'
...
</script>
Я действительно хочу СУШИТЬдублированные части шаблона, но я не могу найти, как это сделать, кроме как сделать компонент, и это слишком «тяжело» для моего варианта использования. Я думаю, что это дубликат Есть ли способ наследования шаблонов с миксинами в VueJS , который не получил хорошего ответа 2 года назад.