如何使用 ng-content 和 ng-switch 使用 Angular 一起投影内容?



我创建了2个可定制的css网格,我想在整个项目中使用。问题是,当我使用新的ngSwitchCase时,使用ng-content投影的网格中的内容不会显示在我的第二个网格中。对如何解决这个问题有什么想法吗?我希望得到反馈,我在下面做了一个stackblitz…

https://stackblitz.com/edit/angular-ivy-qm6qmj?file=src/app/template/template.component.html

更新:我还使用ngTemplateOutlet创建了另一个stackblitz,除了我不确定如何在我的网格(或任何内容)的左面板中定位我的图像占位符文本,而不是它目前在网格的右面板中。在我的第一个例子中,这部分与ng-content select一起完美地工作,但我不确定如何使用ngTemplateOutlet解决这个问题!这是第二次stackblitz…

https://stackblitz.com/edit/angular-ivy-3gh45b?file=src/app/template/template.component.html

所以总而言之,第一个stackblitz的内容完全按照我想要的方式布局,但我不能创建另一个切换案例,因为ng-content在这种情况下似乎有限,而第二个stackblitz让我使用ngswitch,并在我通过grid1或grid2更改时显示所有数据,但它没有正确布局!我很想从stackblitz中获得两全其美的内容,在我想要的地方完美地布局,同时仍然使用ngswitch!如果有人有解决方案,我会非常感激!!

你差不多在那儿了。您只需要在<ng-template #content>中添加一个ng-content,它选择图像占位符:

<ng-template #content>
<ng-content select=".img"></ng-content>
</ng-template>

然后.img元素将被投影到该模板中,剩余的内容将被投影到只有ng-content的没有选择器的<ng-template #template>中。

这是你的第二个StackBlitz的一个分支,我认为它做了你正在寻找的。

相关内容

  • 没有找到相关文章

最新更新