我想将整个HTML页面的内容从AngularJS代码生成(例如:该页面包含Angular代码)作为字符串变量。
例如,使用以下代码:
var myApp = angular.module('myApp', []);
myApp.controller('MyCtrl', ['$scope', function($scope) {
$scope.myVar = 'Hello world!';
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
{{myVar}}
</div>
我想得到:
var myHtml = '<div>Hello world!</div>';
我该怎么做?
答案 0 :(得分:0)
我更新了您的Fiddle并使其正常运行。在你的情况下,这个synthax应该工作:
document.querySelector('div[ng-app]').innerHTML;
<div ng-app="myApp" ng-controller="MyCtrl">
<div>{{myVar}}</div>
<button ng-click="getTheDamnHoleHTML()">
Collect the whole AngularJS Application HTML/DOM
</button>
</div>
var myApp = angular.module('myApp', []);
myApp.controller('MyCtrl', ['$scope', function($scope) {
$scope.myVar = 'Hello world!';
$scope.getTheDamnHoleHTML = function () {
console.log(document.querySelector('div[ng-app]').innerHTML);
}
}]);