0

bootstrap-scrolling-tabs 使用 angular-bootstrap 元素实现可滚动标签。

这是我的代码

 <div class="abc">
            <div class="panel panel-default abcd" >
                <div scrolling-tabs-wrapper>
                    <tabset>
                        <tab class="verticalText" heading="{{evi.evidenceIdentifier}}" ng-repeat="evi in examinationCtrl.getEvidences(examinationCtrl.currentDocument)"
                             select="examinationCtrl.selectEvidence(evi.sss)">
                            <div class="embed-responsive-pdf embed-responsive" ng-style="style()">
                                <div embed-src="{{examinationCtrl.urlForEvidence(evi.sss)}}"
                                     class="embed-responsive-item embed-progress"></div>
                            </div>
                        </tab>
                    </tabset>
                </div>
            </div>
        </div>

运行此程序时出现错误。知道这有什么问题吗?

Controller 'tabset', required by directive 'tabContentTransclude', can't be found!
4

1 回答 1

0

首先确保:UI Bootstrap 库 (ui.bootstrap.tabs) 是否作为依赖项添加?

当我扩展滚动标签包装器以动态添加新标签时,我遇到了同样的错误。一旦我向底层数组添加了一个选项卡,就会发生错误。我对错误原因的搜索把我带到了这里。

我假设 ExamCtrl.getEvidences() 生成的数据不是静态的。尝试在您的控制器中提供一个静态选项卡数组,并在 tab/ng-repeat 元素中使用它,看看是否有效。

抛出此错误的原因是 ElementsHandler 中的“moveTabContentOutsideScrollContainer”方法中的以下语句:

$tabsContainer.find('.tab-content').appendTo($tabsContainer);

这会将带有“.tab-content”的元素移出范围,以便 UI Bootstrap 控制器“tabset”无法再找到它。为了解决这个问题,我在自定义滚动选项卡中添加了一个附加功能,以便在更改初始选项卡数组时将其移回范围内。

于 2015-04-15T17:24:15.150 回答