Да, вы должны удалить эту локальную переменную showDB
, чтобы получить то, что вам нужно.
Вы можете легко заменить его на $scope.activeKey
и оценить его по
<button ... name="showDB" ng-click="activateKey(key)">{{key}}</button>
А в вашем контроллере:
$scope.activeKey = null;
$scope.activateKey = function (keyToBeActivated) {
$scope.activeKey = keyToBeActivated;
}
Теперь вы можете достичь этой эксклюзивности, проверив:
<table ng-show="activeKey === key" ... >
Использование таблицы $ index в качестве уникального поля: (доступно из ng-repeat)
<button ... name="showDB" ng-click="activateKey($index)">{{key}}</button>
И
<table ng-show="activeKey === $index" ... >