Получить html-элемент формы $scope, который ng-repeat создан из $scope?

#angularjs #angularjs-ng-repeat

#angularjs #angularjs-ng-repeat

Вопрос:

Возможно ли получить html-элемент (для стилизации) из объекта $scope?

Я использую ng-repeat на a $scope.array , и я знаю, что это $scope.array[0] соответствует первому элементу в HTML, созданному ng-repeat , так можно ли получить сам этот HTML-элемент $scope в моем javascript?

Ответ №1:

Вы можете прикрепить контроллер к каждому элементу и ввести $element, чтобы таким образом получить доступ к каждому элементу. Так что это будет выглядеть примерно так:

HTML:

 <li ng-repeat="item in items" ng-controller="itemController"></li>
 

Javascript:

 module.controller('itemController', ['$scope', '$element', function($scope, $element) {
    // Use $element here
}]);
 

Однако, если вы просто хотите изменить стиль каждого элемента, вам следует рассмотреть возможность использования ng-class для каждого элемента, а затем указать класс с $scope каждого элемента.

Если вы хотите выполнить манипуляции с DOM, рекомендуется сделать это в директиве.