我有一个空表要开始,带有添加按钮的表单用于逐一填充表中的行。
表中的最后一列是删除,我已使用 ng-click
属性填充了一个超链接,但它没有被触发...我尝试了 onclick
函数,它有效。
HTML:
<tr ng-repeat="entity in entities">
<td>{{ $index + 1 }}</td>
<td>{{ entity.entityType }}</td>
<td>{{ entity.orgType }}</td>
<td>{{ entity.entityId }}</td>
<td>{{ entity.name }}</td>
<td>{{ entity.addressLine1 }}</td>
<td>{{ entity.city }}</td>
<td>{{ entity.state }}</td>
<td>{{ entity.zip }}</td>
<td ng-bind-html="entity.edit"></td>
<td ng-bind-html="entity.remove"></td>
</tr>
Javascript 这是被调用以在表中添加行的点击事件:
$scope.entities = [];
$scope.addEntity = function() {
console.log($scope.entity);
$scope.entity.$index = $scope.entities.length;
var $el = "<a ng-click='deleteEntity(" + $scope.entity.$index + ")'>Delete</a>";
$scope.entity.edit = $sce.trustAsHtml("<a ng-click='editEntity(" + $scope.entity.$index + ")'>Edit</a>");
$scope.entity.remove = $sce.trustAsHtml($el);
$scope.entities.push($scope.entity);
$scope.reset();
$compile($el)($scope);
}
HTML 已正确创建,deleteEntity
函数具有索引值。
最佳答案
您可以直接使用它:
<tr ng-repeat="entity in entities track by $index">
<td>{{ $index + 1 }}</td>
<td>{{ entity.entityType }}</td>
<td>{{ entity.orgType }}</td>
<td>{{ entity.entityId }}</td>
<td>{{ entity.name }}</td>
<td>{{ entity.addressLine1 }}</td>
<td>{{ entity.city }}</td>
<td>{{ entity.state }}</td>
<td>{{ entity.zip }}</td>
<td><a ng-click='editEntity($index)'>Edit</a></td>
<td><a ng-click='deleteEntity($index)'>Delete</a></td>
</tr>
我认为这会解决您的问题。
关于javascript - ng-click 不适用于动态超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42642758/