Как изменить класс css, когда все вкладки в ui.bootstrap.accordion закрыты, например, если вкладки были закрыты, потому что другая вкладка вызвало их закрытие, выражение ng-class не будет работать и не изменит значок.Как изменить класс css, когда все вкладки закрыты в ui.bootstrap.accordion
Это мнение
<uib-accordion>
<uib-accordion-group ng-repeat="item in portafolio | orderBy : 'order' " ng-click="item.opened=!item.opened">
<uib-accordion-heading>
<i class="fa fa-lg" ng-class="(item.opened === true) ? 'fa-minus-circle':'fa-plus-circle'"></i>
<span>{{item.name}}</span>
<i class="pull-right fa fa-lg" ng-class="{'fa-caret-down': true === item.opened, 'fa-caret-right': false === item.opened}"></i>
</uib-accordion-heading>
<div ng-include="'modules/widgets/portafolio/tpl/'+item.type+'.html'"></div>
</uib-accordion-group>
</uib-accordion>
И в контроллере у меня есть это.
$scope.portfolio = [
{ type: 'Balance', order:1, name:'current balance', opened: false},
{ type: 'Credits', order:2, name:'Credits', opened: false},
{ type: 'Investments', order:3, name:'Investments', opened: false}
];
Я пытался использовать директиву нг-класс для того, чтобы оценить, если item.opened был истинным или ложным, но когда вкладки были закрыты, потому что другая вкладка закрыла их, в item.opened обыкновение обновления.
Действительно, я исследовал, что с помощью $ watch я могу «наблюдать» за изменениями и запускать функцию, я видел, что, когда я нажимаю на одну вкладку, добавлен класс css .panel-open'is, но как могу ли я посмотреть, что элемент div, который был добавлен в класс css, чтобы обновить элементы класса i.
Спасибо.
вы можете использовать '$ watch', который принимает функцию, и эта функция будет проверять, закрыты ли все панели, можете ли вы опубликовать то, что вы сделали до сих пор? – svarog
Спасибо, я обновил вопрос с кодом –