[确定,我正在设计一个标签视图组件。根据使用位置/方式,它具有可变数量的选项卡。我想做的是这个(简体):
@component('tabSet')
@component('tab', ['label' => 'settings', 'content' => 'nameOfContentComponent'])
@component('tab', ['label' => 'stuff', 'content' => 'nameOfContentComponent'])
@component('tab', ['label' => 'Other stuff', 'content' => 'nameOfContentComponent'])
@component('tab', ['label' => 'And even more stuff', 'content' => 'nameOfContentComponent'])
@endcomponent
所需的输出看起来像这样:
<section class="tabSet">
<div class="tabs-contentArea">
<!-- this section is repeated for each tab-->
<div class="tabs-contentArea-content">nameOfContentComponent</div>
<!-- this section is repeated for each tab-->
<div class="tabs-contentArea-content">nameOfContentComponent</div>
<!-- this section is repeated for each tab-->
<div class="tabs-contentArea-content">nameOfContentComponent</div>
<!-- this section is repeated for each tab-->
<div class="tabs-contentArea-content">nameOfContentComponent</div>
<!-- this section is repeated for each tab-->
</div>
<div class="tabs-tabArea">
<!-- this section is repeated for each tab-->
<div class="tabs-tab">
<label class="tabs-tab-label icon-skull" >settings</label>
</div>
<!-- this section is repeated for each tab-->
<div class="tabs-tab">
<label class="tabs-tab-label-mobile icon-skull" >Stuff</label>
</div>
<!-- this section is repeated for each tab-->
<div class="tabs-tab">
<label class="tabs-tab-label-mobile icon-skull">Other stuff</label>
</div>
<!-- this section is repeated for each tab-->
<div class="tabs-tab">
<label class="tabs-tab-label-mobile icon-skull" >And even more stuff</label>
</div>
<!-- this section is repeated for each tab-->
</div>
</div>
</section>
我看不到如何将变量分成两个不同的重复部分,并具有可变数量的制表符(.tabs-contentArea-content和.tabs-tab-label)
我可以选择一个版本,在该版本中加载相关变量的数组并使用两个for循环来生成节,但这需要我执行类似的操作>
@component('tabSet', ['tabData' => 'fileWithArray'])@endcomponent
并从数组中将数据作为变量加载-这似乎不太干净,因为必须为每个选项卡集创建一个数组文件,而不是仅指定在构建视图时要创建的选项卡。
请就这方面的最佳做法提出建议
最诚挚的问候
David Trappaud
[确定,我正在设计一个标签视图组件。根据使用位置/方式,它具有可变数量的选项卡。我想做的是(简化)的:@component('tabSet')@component('tab',...
保持简单。组件不提供所需的功能。我建议使用: