1

html:

<table>
  <tbody>
    <tr ng-repeat="row in Rows  track by $index" ng-init="initUserDecision(row,$index)" >
      <td>{{employeeName}}</td>
    </tr>
</table>
<button id="change"/>

コントローラ:

$scope.initUserDecision = function(row,index){
    $scope.employeeName=row["name"];
}
$scope.rows=[{id:1,name:'siva'},{id:2,name:'ram'}]
//changing $scope.rows in button click event and used $scope.$apply as well
angular.element(document).on("click", "#change", function () {
    $scope.rows=[{id:1,name:'ravi'},{id:2,name:'raj'}]
    $scope.$apply();
});

ng-inittr が初期化されたときに関数が初めて呼び出されました。変更ボタンをクリックすると、行コレクションが変更され、ng-init再度呼び出されることはありません。$index ng-init両方の時間を呼び出してトラックを削除した場合。track by を使用する$indexと、一度だけ呼び出されました。なぜそうなのですか?これについてのアイデア。

4

1 に答える 1