我希望$compile
一个包含几个指令到字符串的html并将其发送到服务器。由于某些指令包含templateUrl
,因此返回的链接功能会延迟。在这个问题(AngularJS: Using $compile on html that contains directives with templateurl)中,问题似乎已经解决,调用$scope.$digest()
这在我的案例中是不可能的(已经在进行中)。
我找到的唯一解决方案是使用超时,请参阅http://plnkr.co/edit/k3ZAYy1FhGUFXxXyrPvB?p=preview
有没有更好的方法等待延迟链接功能的完成?
答案 0 :(得分:0)
,使用$ apply,如:
this.runUrl = function() {
var scope = $rootScope.$new();
var html = '<template-url-directive></template-url-directive>';
var compiled = $compile(html);
var el = compiled(scope);
scope.$apply();
this.result = el[0].outerHTML;
};
用于将范围与模板绑定。请查看已修改的plunk.