Я использую Angular UI для отображения небольших записей базы данных в аккордеоне. В первом испытании я использовал начальную загрузку, но когда я интегрировал представления AngularJS, аккордеон больше не работает полностью (пустой href...). Затем я заменил свой загрузочный аккордеон угловым загрузочным интерфейсом и шаблоном по умолчанию.
Моя проблема в том, что в загрузочной версии мне удалось стилизовать заголовок в зависимости от названия аккордеона (я использовал директиву ng-repeat и стиль ng внутри заголовка). Я пытался сделать то же самое с Angular UI, но даже мой пользовательский класс не отображается.
Этот пример кода отлично работал с бутстрапом, но не с аккордеоном ui.boostrap:
accordion-group.accordion-groupLog(ng-repeat="item in data.entries | filter:search")
accordion-heading.accordion-headingLog(ng-style="{backgroundColor: styles[item.importance-1].bkcolor, color: styles[item.importance-1].color}")
{{item.title}} ({{item.importance}})
Цель здесь — применить другой стиль (цвет фона и цвет текста) в зависимости от поля элемента. Кроме того, классaccordion-headingLog предназначен для изменения размера аккордеона по умолчанию.
Вот отрендеренный код:
<div class="accordion-groupLog accordion-group ng-scope" ng-repeat="item in data.entries | filter:search">
<div class="accordion-heading">
<a class="accordion-toggle ng-binding" ng-click="isOpen = !isOpen" accordion-transclude="heading">
......
А я ожидал что-то вроде:
<div class="accordion-groupLog accordion-group ng-scope" ng-repeat="item in data.entries | filter:search">
<div ng-style="{backgroundColor: styles[item.importance-1].bkcolor}" class="accordion-heading accordion-headingLog" style="background-color: rgb(214, 24, 40);">
[РЕДАКТИРОВАТЬ] Я пытался поместить класс аккордеона-заголовка с атрибутом ng-класса, но он тоже не работает. Просто для проверки я попытался применить класс и стиль внутри корпуса аккордеона, и он работает хорошо. Я заключаю, что директива аккордеонхеадинг не принимает никаких классов или атрибутов? Как тогда динамически применить стиль к заголовку???
[EDIT] Еще одним испытанием было создание моего собственного шаблона. Я могу применить к заголовку класс «accordion-headingLog», но как установить настраиваемый стиль? Я пытался использовать ng-стиль и применить фиксированный стиль, но это не сработало.
script(type="text/ng-template", id="template/accordion/accordion-group.html").
div.accordion-group
div.accordion-heading.accordion-headingLog(ng-style="{background-color: #123456")
a.accordion-toggle(ng-click="isOpen = !isOpen", accordion-transclude="heading") {{heading}}
div.accordion-body(collapse="!isOpen")
div.accordion-inner(ng-transclude)