Используя ng-repeat, я повторяю tr. Каждая строка будет иметь одну кнопку удаления, когда я нажимаю кнопку удаления, которую родительский tr хочет скрыть, как это возможно, используя angularjs
<tr ng-repeat="affiliate in affiliateList" ng-hide='num == $index'>
<td>{{affiliate.affName}}</td>
<td>{{affiliate.affUrl}}</td>
<td>{{affiliate.associatedId}}</td>
<td><span class="btn btn-small" ng-click="delete(affiliate.affId); deleteList($index)">Delete</span></td>
</tr>
$scope.num = 0;
$scope.deleteList = function(index){
$scope.num = index;
}
Вы можете попробовать этот код, и ему не нужно писать функцию.
<tr ng-repeat="affiliate in affiliateList" ng-hide='num == $index'>
<td>{{affiliate.affName}}</td>
<td>{{affiliate.affUrl}}</td>
<td>{{affiliate.associatedId}}</td>
<td><span class="btn btn-small" ng-click="delete(affiliate.affId); num=$index">Delete</span></td>
</tr>
Возможно, вы ищете эту строку "Удалить таблицу", динамично надеясь, что это поможет вам.
You need to modify delete method as below:
$scope.deleteList = function(index){
$scope.affiliateList.splice(index, 1);
}
И вы можете удалить это состояние ng-hide.
вместо того, чтобы скрывать строку, удалите ее из списка
HTML
<span class="btn btn-small" ng-click="delete(affiliate)">Delete</span>
JS
$scope.delete = function(item) {
$scope.affiliates.splice(item, 1);
}
Для каждого объекта требуется переменная (например, видимость), которую мы можем использовать для отслеживания состояния каждой строки.
филиал
{
'visibility': value
'affId': value,
'affName': value,
'affUrl': value,
'associatedId': value,
}
Инициализация видимости с помощью true и affId содержит уникальное значение для каждого объекта.
sample html.js
<tr ng-repeat="affiliate in affiliateList track by affiliate.affId" ng-hide='!affiliate.visibility'>
<td>{{affiliate.affName}}</td>
<td>{{affiliate.affUrl}}</td>
<td>{{affiliate.associatedId}}</td>
<td><span class="btn btn-small" ng-click="delete(affiliate.affId); deleteList(affiliate)">Delete</span></td>
</tr>
controller.js
$scope.deleteList = function(affiliate){
affiliate.visibility = false;
}
Это должно решить проблему.