【发布时间】:2019-05-05 00:26:00
【问题描述】:
考虑一个简单的 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>
js:
$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';
}
};
【问题讨论】:
标签: javascript angularjs