我在 Angular 内容投影方面面临一些挑战。我有一个模板,其中包含将要使用的每个实例的一些通用 HTML,而另一部分将通过嵌入 ( ng-content
) 因情况而异。问题是无论我在模板 DOM 元素上使用的顺序如何,输出总是相同的。这是代码:
<ng-template #lol>
<ng-content select=".world"></ng-content>
<div>Hello</div>
</ng-template>
<ng-container [ngTemplateOutlet]="lol">
<div class="world">World</div>
</ng-container>
我希望产生的结果是:
World
Hello
假设我首先放置了嵌入元素,然后才是模板的静态部分。但即使我在模板上切换它们的顺序,结果也总是:
Hello
World
我不明白为什么。有人可以解释一下为什么会发生这种情况以及我能做些什么来产生我想要的输出吗?谢谢你。
注意:这是一个带有完整示例的 StackBlitz:https ://stackblitz.com/edit/angular-vfecbs?file=src%2Fapp%2Fapp.component.html