【发布时间】:2015-04-04 00:13:25
【问题描述】:
是否可以 $compile HTML 文档,而不是像 $compile 期望的元素?
我要解决的问题:我在外部 .html 文件中有可打印的表单,我想包含这一行:<link rel="stylesheet" type="text/css" href="styles.css">
现在我不能这样做,因为 $compile 期望 element 参数,这是 DOM 元素并且不能包含(或简单地忽略到样式表的链接)。
我有的模板:
<div>
<span ng-bind="model.tasks.count"></span>
</div>
我想要的模板(我的主要目标 - 将样式提取到单独的文件中):
<html>
<head>
<link href="/app/style.css" rel="stylesheet">
</head>
<body>
<div>
<span ng-bind="model.tasks.count"></span>
</div>
</body>
</html>
我的代码示例:
return $q.all([ getTemplate(), getScope() ]).then(
function(msg) {
var element = angular.element(msg[0]); // Now it's DOM element
$compile(element)(msg[1]); // If i pass HTML document, element goes undefined
openWindow(element);
});
和打开窗口:
function openWindow(element) {
$timeout(function () {
var html = element.html();
var _w = window.open();
_w.document.body.innerHTML = html; // Here i'd like to write complete HTML doc
_w.print();
});
}
【问题讨论】:
标签: javascript jquery html css angularjs