You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue子组件如何向父组件内动态组件的插槽传递内容?

如何从子组件向Table组件的header插槽渲染内容?

现有代码无法正常实现需求,期望渲染子组件中的标题,以下是当前代码:

Table组件

<template>
   <div>
      <slot name="header"></slot>
   </div>
</template>

父组件

<template>
   <div>
      <component :is="currentComponent" > </component> 
   </div>
 </template>
 <script>
 export default {
 data() {
   return {
      currentComponent: 'Table'
      };
   },
 };
 </script>

子组件

<template>
       <div>
         <parent-component> 
           <template slot="header">
              <h1>test</h1>
           </template>
         </parent-component>
     </div>
   </template>

解决方案

Table组件代码保持不变,修改父组件代码如下:

<template>
   <div>
      <component :is="currentComponent" >
         <template v-for="(_, name) in $slots" #[name]="slotData">
              <slot :name="name" v-bind="slotData || {}" />
         </template>
      </component> 
   </div>
 </template>
 <script>
 export default {
 data() {
   return {
      currentComponent: 'Table'
      };
   },
 };
 </script>

子组件代码无需修改。


内容的提问来源于stack exchange,提问作者Elior Zur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 09:15:48