VueJs。是否可以将一个 <slot> 传递给另一个?
VueJs. Is it possible to pass one <slot> througth another?
示例(jsfiddle):
我不会将 <component-a>
传递到 <component-c>
中的插槽 'two'
//文件#1
<component-b>
<component-a slot="... ? ..."></component-a>
</component-b>
我的文件 #2 有问题。我不明白如何将 <component-a>
通过 <component-b>
传递到组件 .
中的 slot='two'
//文件 #2 和 <component-b>
<div>
<components-c>
// I was thinking to do it this way,
// but as I see It doesn't work:
// <slot name='one' slot='one'></slot>
// <slot name='two' slot='two'></slot>
</components-c>
</div>
//文件 #3 和 <component-c>
<components-c>
<div id='one'>
<slot name="one"></slot>
</div>
<div id='two'>
<slot name="two"></slot>
</div>
</components-c>
<slot>
不可能成为父组件中另一个插槽的源(通过使用 slot
属性)。允许这一点意味着单个元素(即 VNode)需要有多个 slot
值用于在节点树中向上渲染时将在其中呈现的插槽。
这是不允许的:
<slot slot="one"></slot>
如果您先像这样将插槽包裹在 div 中,它将起作用:
<div slot="one">
<slot name="one"></slot>
</div>
这是一个 fiddle 更新后的示例。
示例(jsfiddle):
我不会将 <component-a>
传递到 <component-c>
//文件#1
<component-b>
<component-a slot="... ? ..."></component-a>
</component-b>
我的文件 #2 有问题。我不明白如何将 <component-a>
通过 <component-b>
传递到组件 .
//文件 #2 和 <component-b>
<div>
<components-c>
// I was thinking to do it this way,
// but as I see It doesn't work:
// <slot name='one' slot='one'></slot>
// <slot name='two' slot='two'></slot>
</components-c>
</div>
//文件 #3 和 <component-c>
<components-c>
<div id='one'>
<slot name="one"></slot>
</div>
<div id='two'>
<slot name="two"></slot>
</div>
</components-c>
<slot>
不可能成为父组件中另一个插槽的源(通过使用 slot
属性)。允许这一点意味着单个元素(即 VNode)需要有多个 slot
值用于在节点树中向上渲染时将在其中呈现的插槽。
这是不允许的:
<slot slot="one"></slot>
如果您先像这样将插槽包裹在 div 中,它将起作用:
<div slot="one">
<slot name="one"></slot>
</div>
这是一个 fiddle 更新后的示例。