我正在加载模板,然后使用$compile服务针对我的范围对其进行编译。
$compile
var template = "<div> .. {{someCompilingStuff}} ..</div>"; var compiled = $compile(template)(cellScope);
然后在弹出窗口中使用它
cellElement.popover({ html: true, placement: "bottom", trigger: "manual", content: compiled });
我的模板非常复杂,可能要花一些时间来编译。
在弹出窗口中使用angular之前,如何确保angular完成了模板的编译?
编辑 :$apply()在创建弹出窗口之前,我试图将角度强制为,它确实可以工作,但会生成JavaScript错误,这对我来说是不可接受的。
$apply()
$compile允许您使用所谓的克隆附加功能,该功能允许您将元素附加到文档。这是您可能可以使用的示例:
var template = "<div> .. {{someCompilingStuff}} ..</div>"; var compiled = $compile(template)(cellScope, function (clonedElement) { cellElement.popover({ html: true, placement: "bottom", trigger: "manual", content: clonedElement }); });
参考有关$ compile使用的Angular文档