Рассмотрим простой ng-repeat, который создает директиву на каждой итерации. Каждая директива содержит кнопку, которая запускает функцию. Эти кнопки должны иметь ярлык, установленный в «Показать», и при нажатии кнопки «Скрыть» следует нажать кнопку «Скрыть». Когда я нажимаю кнопку, я хочу проверить, есть ли другие кнопки, установленные для «скрыть»: если да, они должны вернуться к «показать». В основном моя цель состоит в том, чтобы иметь только одну кнопку с ярлыком, установленным на «Скрыть», другие должны всегда быть «Показать». Как я могу это сделать?Динамическая смена ярлыка кнопки внутри ng-repeat
<div ng-repeat="campaign in $root.transactions">
<my-directive campaign='campaign' index='$index></my-directive>
</div>
myDirective.html:
<div>
..some stuff...
<button ng-click="toggleDetail()">{{labelButton}}</button>
</div>
ЯШИ:
$scope.labelButton = 'Show';
$scope.detailOpened = false;
$scope.labelButton = 'Show';
$scope.$root.selectedIndex = -1;
$scope.toggleDetail = function($event, index){
...do stuff...
$scope.detailOpened = !$scope.detailOpened;
$scope.$root.selectedIndex = index;
$(element).toggleClass('selectedActivity');
if($scope.detailOpened === false) {
$scope.labelButton = 'Show';
}else {
$scope.labelButton = 'Hide';
}
};