#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, рекомендуется сделать это в директиве.