想用Vue写一个页面组件,可以插入多个子模块,数量不定。 请问怎么写?
请问怎么插入不指定数量的模块?
<Page> <template #module1>
</template>
<template #module2>
</template>
...
</Page>
想到解决方案了,采用动态插槽<slot :name="index"></slot>
因为子模块数量不定,所以名字不能固定。
<div class="module" v-for="(module, index) in titles" :key="index"> <div
:ref="(el: refItem) => setRefMap(el, index)"
class="title pt2 pb2"
@click="onTabChange(index)"
>
<div class="wrapper">
<div class="pre"></div>
<span class="ml-2">
{{ module }}
</span>
</div>
</div>
<slot :name="index"></slot>
</div>
回答:
https://play.vuejs.org/#eNqVU8tu2zAQ/JUFe7AUCNQht0A10BY5tIcma...
回答:
1、jsx,插槽只留一个,根据参数动态加载多个模块插入
2、slot 用v-for
<slot v-for="item in schema" :name="item.prop" />
回答:
既然你想通过插槽进行替换,那就需要确定插槽的位置
一个萝卜一个坑,固定好页面的整体结构,作为整体向外暴露。
回答:
用插槽呗,一个插槽可以插入一个组件,而这个组件又可以包括多个子组件,所以基本上用插槽就可以实现你说的不指定数量的模块。
题主应该把不指定数量的模块理解成不指定数量的插槽了?如果是的话,那应该使用v-for实现吧
以上是 想用Vue写一个页面组件,可以插入多个子模块,数量不定。 请问怎么写? 的全部内容, 来源链接: utcz.com/p/935147.html