Angular6 Angular 6中的间接递归Ng模板 //一些代码
我有一个包含另一个模板“项”的模板“容器”。。容器“项”再次包括“容器” 这不起作用,我收到以下错误: 错误类型错误:templateRef.createEmbeddedView不是函数Angular6 Angular 6中的间接递归Ng模板 //一些代码,angular6,Angular6,我有一个包含另一个模板“项”的模板“容器”。。容器“项”再次包括“容器” 这不起作用,我收到以下错误: 错误类型错误:templateRef.createEmbeddedView不是函数 有什么想法吗?谢谢。这个问题已经很老了,所以您可能已经找到了答案,但以防其他人遇到这个问题 您遇到的问题是容器模板中变量列表(let list)的命名冲突,该变量列表覆盖列表模板 例如,如果将模板重命名为ListPL(或变量),则该模板应能正常工作: //一些代码 对于模板内部的递归,我们需要了解n
有什么想法吗?谢谢。这个问题已经很老了,所以您可能已经找到了答案,但以防其他人遇到这个问题 您遇到的问题是容器模板中变量列表(let list)的命名冲突,该变量列表覆盖列表模板 例如,如果将模板重命名为ListPL(或变量),则该模板应能正常工作:
-
//一些代码
对于模板内部的递归,我们需要了解ng模板如何在angular中与templateOutlet一起工作。如果我们掌握了它,我们可以很容易地为参考递归如下代码
<ng-template #list let-Items>
<ul>
<li *ngFor="let i of Items">
<ng-container [ngTemplateOutlet]="container" [ngTemplateOutletContext]="{$implicit: i}"></ng-container>
</li>
</ul>
</ng-template>
<ng-template #container let-list>
// some code
<ng-container [ngTemplateOutlet]="list" [ngTemplateOutletContext]="
{$implicit: list.columns}"></ng-container>
</ng-template>
{{item.linkTranslationKey | translate}}
这是在第8章中测试的。未检查angular的早期版本。是否有帮助?谢谢
<ul>
<ng-container *ngTemplateOutlet="recursiveListTmpl; context:{ $implicit: serviceNavLinks }"></ng-container>
</ul>
<ng-template #recursiveListTmpl let-list>
<li *ngFor="let item of list">
<a class="list-group-item no-border">
{{item.linkTranslationKey | translate }}
</a>
<ul *ngIf="item.childNavLinks && item.childNavLinks.length > 0">
<ng-container *ngTemplateOutlet="recursiveListTmpl; context:{ $implicit: item.childNavLinks }"></ng-container>
</ul>
</li>