我有(多对)两个组件,一个组件列出项目,另一个组件显示/编辑单个项目的详细信息。两者都有一个上下文菜单,其中包含选定项目的相关动作/信息。 这些动作/信息对于两个组件都是相同的。 似乎像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>
我真的很想干燥重复的模板零件,但是除了制造组件外,我找不到其他方法,这对于我的用例来说太“繁重”了。 我认为这是Is there way to inherit templates with mixins in VueJS的副本,两年前没有得到任何好的答案。