У меня есть app.js для генерации вкладок, как показано ниже:
Ввод:
<tabs>
<div>
<a slot="header">Tab 1</a>
<article slot="content">
<h2>Tab 1 Content</h2>
<p>Lorem ipsum dolor sit amet</p>
</article>
</div>
<div>
<a slot="header">Tab 2</a>
<article slot="content">
<h2>Tab 2 Content</h2>
<p>Sed ut perspiciatis unde</p>
</article>
</div>
<div>
<a slot="header">Tab 3</a>
<article slot="content">
<h2>Tab 3 Content</h2>
<p>Neque porro quisquam est</p>
</article>
</div>
</tabs>
Каждый div
выше указывает одну tab
.header
слот является заголовком панели вкладок, а слот контента является содержимым вкладки для соответствующей вкладки.
С указанным выше входным сигналом для моего tabs
компонента я должен сгенерировать следующий вывод:
Вывод:
<section class="tabs">
<nav class="tabs-nav">
<ul class="tabs-list">
<li class="tabs-listitem">
<a class="tabs-trigger">Tab 1</a>
</li>
<li class="tabs-listitem">
<a class="tabs-trigger">Tab 2</a>
</li>
<li class="tabs-listitem">
<a class="tabs-trigger">Tab 3</a>
</li>
</ul>
</nav>
<div class="tabs-body">
<article>
<h2>Tab 1 Content</h2>
<p>Lorem ipsum dolor sit amet</p>
</article>
<article>
<h2>Tab 2 Content</h2>
<p>Sed ut perspiciatis unde</p>
</article>
<article>
<h2>Tab 3 Content</h2>
<p>Lorem ipsum dolor sit amet</p>
</article>
</div>
</section>
С помощью вышеуказанного ввода в Tabs, как я могу получить вывод, как указано выше, в моей функции рендеринга или шаблоне Vue.
Если я попытаюсь выполнить итерации по слотам с помощью this.$slots.header
Я получаю undefined
Может кто-нибудь помочь мне в достижении этого