深度ng含量选择是否可能?



假设我想将这样的标记转换为ng-content:

<div aaa>
AAA
</div>
<div aaa bbb>
BBB
</div>

为此,我可以使用选择器(看起来像常规的CSS选择器(:

<ng-content select="div[aaa]"></ng-content>
----- some other content here -----
<ng-content select="div[aaa][bbb]"></ng-content>

但是,如果我有此内容(我无法摆脱"部分"标签(怎么办:

<section>
<div aaa>
AAA
</div>
<div aaa bbb>
BBB
</div>
</section>

我可以使用哪些选择器来获得相同的结果?这对我不起作用:

<ng-content select="section div[aaa]"></ng-content>
----- some other content here -----
<ng-content select="section div[aaa][bbb]"></ng-content>

既不是:

<ng-content select="section>div[aaa]"></ng-content>
----- some other content here -----
<ng-content select="section>div[aaa][bbb]"></ng-content>

有什么解决方法吗?为什么选择器不能作为 CSS 选择器工作?这是设计使然吗?我在文档中找不到原因...

如果将"部分"标签替换为"ng模板"或"ng容器"会有所帮助吗?

我不相信ng-content是不可能的。

对于您想要做的事情,还有其他选择,但是它们有点复杂。

我的首选方法是使用 Angular CDK 门户。 有关更多信息,请参阅:

  • https://material.angular.io/cdk/portal/overview
  • https://blog.angularindepth.com/angular-cdk-portals-b02f66dd020c
  • https://medium.com/@sumn2u/dynamic-ui-using-portals-in-angular-cdk-6051988b0f81

相关内容

  • 没有找到相关文章

最新更新