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