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>