Vuejs2 如何为VueJS Mixin创建可重用模板

Vuejs2 如何为VueJS Mixin创建可重用模板,vuejs2,Vuejs2,我有两个组件(许多对),一个列出项目,另一个显示/编辑单个项目的详细信息。两者都有一个上下文菜单,其中包含所选项目的相关操作/信息。 这两个组件的操作/信息相同。 看起来像是一个混合的目的。 在操作需要在组件模板中包含信息之前,此功能非常有效 list.vue <template> <div> <List :items="itemss" :actions="actionsFromActionsMixin"> </List>

我有两个组件(许多对),一个列出项目,另一个显示/编辑单个项目的详细信息。两者都有一个上下文菜单,其中包含所选项目的相关操作/信息。 这两个组件的操作/信息相同。 看起来像是一个混合的目的。 在操作需要在组件模板中包含信息之前,此功能非常有效

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>

从“../crud_base/List”导入列表;
从“./actionsMixin.js”导入{actionsMixin}
...
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>

从“../crud_base/Form”导入表单;
从“./actionsMixin.js”导入{actionsMixin}
...
我真的很想弄干复制的模板部件,但除了制作一个组件外,我找不到其他方法,这对于我的用例来说太“沉重”。
我认为这是两年前没有得到任何好答案的副本。

是的,您应该使用HOC组件和slots@SimonThiel我找到了一堆高阶组件的引用,但看不出它们如何解决我的问题。我认为不能使用普通组件的一个主要原因是,我在模板中使用了局部变量,而Mixin包含定义的组件中使用的数据。这看起来应该很简单,比如在我的模板中的某个地方放一个标记“MixinTemplateHere”,然后继续。参考的问题得到了一个有用的答案:-)是的,你应该使用一个HOC组件slots@SimonThiel我找到了一堆高阶组件的引用,但看不出它们如何解决我的问题。我认为不能使用普通组件的一个主要原因是,我在模板中使用了局部变量,而Mixin包含定义的组件中使用的数据。这似乎应该很简单,比如在我的模板中的某个地方放一个标签“MixinTemplateHere”,然后继续