gpt4 book ai didi

没有包装标签的 Angular 包含

转载 作者:太空狗 更新时间:2023-10-29 17:44:22 24 4
gpt4 key购买 nike

如何在不包含包装标签的情况下在 Angular 中进行槽嵌入?

例如:

这是带有选择器 my-component 的组件模板:

<div class="my-component">
<p class="some sensitive css-classes">
<ng-content select="sub-header"></ng-content>
</p>

<p class="more sensitive css-classes">
<ng-content select="sub-footer"></ng-content>
</p>
</div>

这是用数据填充模板的组件之一

<my-component>
<sub-header>
Very <strong>important</strong> text with tags.
</sub-header>

<sub-footer>
More <em>important</em> text with tags.
</sub-footer>
</my-component>

嵌入结果看起来是这样的:

<div class="my-component">
<p class="some sensitive css-classes">
<sub-header>
Very <strong>important</strong> text with tags.
</sub-header>
</p>

<p class="more sensitive css-classes">
<sub-footer>
More <em>important</em> text with tags.
</sub-footer>
</p>
</div>

这不是很有用,因为语义和非常敏感的 CSS 样式

我怎样才能得到像这样的嵌入:

<div class="my-component">
<p class="some sensitive css-classes">
Very <strong>important</strong> text with tags.
</p>

<p class="more sensitive css-classes">
More <em>important</em> text with tags.
</p>
</div>

与其他问题的主要区别在于dom的嵌入。

最佳答案

您可以在 ng-container 标签上使用 ngProjectAs angular 属性

<my-component>
<ng-container ngProjectAs="sub-header">
Very
<strong>important</strong> text with tags.
</ng-container>
<ng-container ngProjectAs="sub-footer">
More
<em>important</em> text with tags.
</ng-container>
</my-component>

Stackblitz Example

有关文档,请查看 https://github.com/angular/angular.io/issues/1683

关于没有包装标签的 Angular 包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47930321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com