AngularJS - Как получить элемент из ng-init?

В AngularJS у меня есть нг-повтор для. Теперь, что я хочу сделать -

На ng-repeat я хочу сделать ng-init как

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

$ Event отлично работает с ng-click($event). Как сделать то же самое для ng-init?

2 ответа

В HTML

<tr ng-repeat="blah in blahs"  ng-init="$last && done()" />

Внутри вашего контроллера

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

В ng-init не может существовать $event. Используйте директиву.

<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>
Другие вопросы по тегам