2017-03-07 45 views
0

我有一個空表來啓動,一個帶有添加按鈕的表單被用來逐個填充表中的行。 表中的最後一列是刪除,我已經填充了ng-click屬性的超鏈接,但它沒有被解僱......我試過onclick函數它的工作原理。ng-click不能在動態超鏈接上工作

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功能有索引值。

+0

您是否在插入前嘗試編譯它? $ compile –

+0

我也試過,但它不起作用 – Naveen

回答

1

您可以直接使用此:

<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> 

我認爲這將解決您的問題。

+0

它的工作原理..我刪除了entity.edit和entity.remove我從JavaScript傳遞。 – Naveen