gpt4 book ai didi

angular - 为什么 ng-template 上的 NgTemplateOutlet 指令在页面上打印内容?

转载 作者:行者123 更新时间:2023-12-05 05:15:16 26 4
gpt4 key购买 nike

我能理解为什么 <1> 有效,但令人惊讶的是 <2> 也有效并打印页面上的内容,为什么?<2> 不应该只创建另一个必须由 createEmbeddedView 或 ngTemplateOutlet 等使用的 ng-template 吗?

<!-- 1 -->
<ng-container *ngTemplateOutlet="contents"></ng-container>
<!-- 2 -->
<ng-template *ngTemplateOutlet="contents"></ng-template>


<ng-template #contents>These are contents</ng-template>

最佳答案

ngTemplateOutlet在 HTML 节点中插入一个嵌入式 View 。原始节点(此处为 ng-containerng-template)根本不会显示在 DOM 中。

例如你也可以这样写

<div *ngTemplateOutlet="contents">Hello World!</div>

<ng-template #contents>These are contents</ng-template>

在这个例子中,原始的 div 根本没有插入到 DOM 中,而是 <ng-template #contents> .

关于angular - 为什么 ng-template 上的 NgTemplateOutlet 指令在页面上打印内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51777513/

26 4 0