2016-08-11 6 views
0

AngularJSでは、私はng-repeatを持っています。今、私が何をしたいのか -AngularJS - ng-initから要素を取得するには?

をNG-繰り返しで、私は

<tr ng-repeat="blah in blah" ng-init($event) /> 

のようにNG-INITをしたい$イベントはNGクリック($イベント)で正常に動作します。 ng-initのために同じことをする方法? NG-initの中

+0

なぜあなたはそれをしたいですか?なぜ$イベント? – Weedoze

+0

コントローラ内で定義されたng-initの要素が必要な場合は、ng-repeatの依存性注入 '$ element' – Cyril

+0

を使って取得します。tr DOMに各レコードに何かがあるかどうかをチェックし、記録。その確認をするために、私は電話したい。 –

答えて

1
HTML

<tr ng-repeat="blah in blahs" ng-init="$last && done()" /> 
あなたのコントローラ内部

function myControllerFunc($scope, $element){ 
    $scope.done= function(){ 
     //do something with $element 
    } 
} 
+0

あなたは$ elementを扱うエレメントを扱うことができますか? –

+0

yes $ elementは、コントローラがバインドされている要素になります。 – Cyril

+0

しかし、ng-initがng-repeatが終了する前に呼び出されているため、ng-initは機能しません。さて、どのように? –

0

$イベントが存在することはできません。ディレクティブを使用します。

<div ng-app="myApp" ng-controller="myCtrl"> 
    <input type="text" my-ng-init="myFunc"><br> 
</div> 

<script> 
var app = angular.module('myApp', []); 
app.directive('myNgInit', function() { 
    return { 
    scope: { 
    myNgInit: '&' 
    }, 
    link: function(scope, element, attributes) { 
    scope.myNgInit()(element); 
    } 
    }; 
}); 

app.controller('myCtrl', function($scope) { 
    $scope.myFunc= function($element) { 
    console.log($element); 
    } 
}); 
</script> 
関連する問題