我想获得包含角度范围绑定数据的div的内容。
<div id='someDiv'> <h1> {{someText}} </h1> </div>
控制器中的位置
$scope.someText = 'Hello World';
innerHtml属性不起作用。 document.getElementById(&#39; someDiv&#39;)。innerHtml不起作用,因为它返回未绑定的变量
var content = document.getElementById(&#39; someDiv&#39;)。innerHtml; 的console.log(内容);
导致记录<h1> {{someText}} </h1>
我希望它在变量绑定到它之后返回div内容的值'<h1> Hello World! </h1>'
如何实现这一目标?
答案 0 :(得分:2)
您需要在angular中使用$ timeout服务。可能会创建一个指令来提取HTML,因为没有确定的方法可以知道何时在角度之外完成摘要周期。
以下是此类指令的示例:
module.directive('getRenderedHtml', function($timeout) {
return {
controller: function ($scope) {
return {};
},
requires: 'getRenderedHtml',
link: function(scope, element, attrs, thisController) {
var rawHtmlContainer = angular.element('<div></div>');
$timeout(function() {
thisController.html = element[0].innerHTML;
});
}
}
});