如何为所有元素使用相同的slot元素?

时间:2018-06-10 15:41:22

标签: vue.js

所以,如果我有这样的插槽:

<span slot="?" slot-scope="data>...</span>

如果我想将此用于所有事情,那么问题应该在这里?

1 个答案:

答案 0 :(得分:2)

Vue的当前状态不支持这一点,在使用JavaScript Proxy类时尝试破解此功能也不支持这种情况,这是因为Vue的内部设计首先收集所有子节点并将它们映射到对象,在将其传递给下一个组件之前。

您可以通过多次指定广告位内容来解决此问题,例如:

<!-- inside parent -->
<my-child>
    <p slot="head">Hello World</p>
    <p slot="body">Hello World</p>
</my-child>

或者修改子节点以接受在

中未传递插槽时使用的基本插槽
<!-- inside child -->
<div>
    <slot name="head">
        <slot name="base/>
    </slot>
    <slot name="body">
        <slot name="base/>
    </slot>
</div>