首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可折叠手风琴构件中的Vue载荷分量

可折叠手风琴构件中的Vue载荷分量
EN

Stack Overflow用户
提问于 2019-11-20 03:10:49
回答 1查看 785关注 0票数 0

我正在写一页有几个手风琴可扩展的下降的页面。看起来是这样的:

展开后的每一步都会呈现不同的组件。例如,如果展开“步骤1”,它将加载StepOne.vue组件。

对于实际的手风琴代码,我在这里创建了一个组件:

Accordion.vue (模板)

代码语言:javascript
复制
<template>
<div id="accordion">
  <div class="card">
    <div class="card-header" :id="givenId">
      <h5 class="mb-0">
        <button class="btn btn-link" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
          {{stepStr}} // step 1,2,3 -etc
        </button>
      </h5>
    </div>

    <div id="collapseOne" class="collapse show" :aria-labelledby="givenId" data-parent="#accordion">
      <div class="card-body">
      // I want to load a dynamic component here.
      </div>
    </div>
  </div>
</div>
</template>

我的问题是,我不知道如何使每个手风琴步骤加载不同的组件,而不复制粘贴每个步骤的整个手风琴html代码。

理想情况下,我希望它看起来像这样:

Display.vue

代码语言:javascript
复制
<template>
  // Step 1
  <accordion :id="step-1" :stepStr="'Step 1'">
      <Step-One></Step-One>
  </accordion>

  // Step 2
  <accordion :id="step-2" :stepStr="'Step 2'">
      <Step-Two></Step-Two>
  </accordion>

  // Step 3
  <accordion :id="step-3" :stepStr="'Step 3'">
      <Step-Three></Step-Three>
  </accordion>
</template>

但这是一个无效的方法,或者至少,我不知道如何使它发挥作用。我还研究了将组件作为一种支柱传递给手风琴。但这似乎也不是一个有效的解决办法。

如何将组件传递给我的子手风琴组件,以便它能够正确地呈现每个“步骤”组件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-20 03:17:34

你可以用插槽

代码语言:javascript
复制
<slot></slot> 

在手风琴组件中,希望在手风琴标记之间显示代码。

代码语言:javascript
复制
 <div id="collapseOne" class="collapse show" :aria-labelledby="givenId" data-parent="#accordion">
      <div class="card-body">
          <slot></slot> // I want to load a dynamic component here.
      </div>
    </div>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58946047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档