AngularJS - 如何获取呈现的 DOM 元素的 innerHTML

AngularJS - How to get innerHTML of rendered DOM element

有没有办法获取包含 ng-repeat 循环的渲染元素的 innerHTML 代码?

例如:

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

您可以使用 $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

更好的方法来解决您的问题