编译字符串 htmlusing angular compile not working having ng-repeat in it

Compiling string htmlusing angular compile not working having ng-repeat in it

抱歉之前问题格式不好。现在改变这个

我有一个 html 字符串,它使用 ngrepeat 来呈现所需的 div..

 var templateHTML = "<div ng-repeat='entity in createCtrl.finalCCList'>\
                         <span>{{entity.name}}</span>\
                     </div>";

此处 "createCtrl.finalCCList" 包含实体对象列表,其中包含名称和 ID 属性。 现在,当我尝试使用 -

编译它时
var compiledTemplateHTML = $compile(templateHTML)($scope);
            if (compiledTemplateHTML && compiledTemplateHTML[0]) {
                return compiledTemplateHTML[0].outerHTML;
            }
            else {
                return "";
            }

我一无所获。而我检查并发现 $scope.createCtrl.finalCCList 确实具有所需的值。

我是不是遗漏了什么。

好的。经过大量研究,我发现问题是 DOM 在编译需要时间后由字符串 html 中的 ng-repeat 渲染,我在完成之前分配它。如果我在超时时使用赋值,它工作正常。

所以不是这个-

var compiledTemplateHTML = $compile(templateHTML)($scope);
        if (compiledTemplateHTML && compiledTemplateHTML[0]) {
            return compiledTemplateHTML[0].outerHTML;
        }
        else {
            return "";
        }

我不会返回,而是在 $timeout

中分配给范围
var compiledTemplateHTML = $compile(templateHTML)($scope);
        if (compiledTemplateHTML && compiledTemplateHTML[0]) {
            $timeout(function () {
                createCtrl.isHeaderContent = compiledTemplateHTML[0].outerHTML;
            }, 0);
        }

谢谢。