AngularJS - Как получить innerHTML визуализированного элемента DOM - PullRequest
0 голосов
/ 10 октября 2018

Есть ли способ получить код innerHTML отрендеренного элемента, который включает цикл ng-repeat?

Например:

<div id="container">
    <div ng-repeat="e in ctrl.elements>{{e.name}}</div>
</div>

1 Ответ

0 голосов
/ 10 октября 2018

Вы можете использовать $document[0].getElementById("container").innerHTML.
Не забудьте позвонить после выполнения задания ng-repeat - я отложил его в приведенном ниже фрагменте.

angular.module('app', [])
  .controller('ExampleController',  function($scope, $document, $timeout) {
    $scope.ctrlelements = [{name: "aaaa"}, {name: "bbbb"}];
    
    console.log($document[0].getElementById("container").innerHTML)
    
    $timeout(function(){
      console.log($document[0].getElementById("container").innerHTML)
    }, 1000)
    });
<script src="//code.angularjs.org/snapshot/angular.min.js"></script>
<body ng-app="app">
  <div ng-controller="ExampleController">
    <div id="container">
    <p ng-repeat="e in ctrlelements track by $index">{{e.name}}</p>
  </div>
  
</div>
</body>

PS.Может быть, есть лучший способ решить вашу проблему, чем иметь дело с innerHTML

...