Угловые проблемы с начальной загрузкой
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!
1 ответ
Сначала убедитесь: добавлена ли библиотека UI Bootstrap (ui.bootstrap.tabs) в качестве зависимости?
Я столкнулся с той же ошибкой, когда расширил оболочку scrolling-tabs-wrapper для динамического добавления новых вкладок. Как только я добавил вкладку в базовый массив, произошла ошибка. Мой поиск причины ошибки привел меня сюда.
Я предполагаю, что данные, сгенерированные examCtrl.getEvidences(), не являются статичными. Попробуйте обеспечить статический массив вкладок в вашем контроллере и использовать его в элементе tab / ng-repeat и посмотрите, работает ли он.
Причиной возникновения этой ошибки является следующий оператор в методе "moveTabContentOutsideScrollContainer" в ElementsHandler:
$tabsContainer.find('.tab-content').appendTo($tabsContainer);
Это перемещает элемент с ".tab-content" из области видимости, так что "tabset" контроллера начальной загрузки UI больше не может его найти. Чтобы исправить это, я добавил дополнительную функцию в свои пользовательские вкладки прокрутки, чтобы переместить ее обратно в область, если я изменю исходный массив вкладок.