2017-03-07 16 views
0

空のテーブルがあります。テーブルの行を1つずつ追加するために、追加ボタンが付いたフォームが使用されています。 テーブルの最後の列は削除されており、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これはテーブルの行を追加するために呼び出されたクリックイベントである:deleteEntity関数は、インデックス値を持っていると

$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は、適切に作成されます。

+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

それは働く..私はエンティティとエンティティを削除エンティティと私はjavascriptから渡していた。 – Naveen