Angular 角度多ng内容容器不';不尊重模板

Angular 角度多ng内容容器不';不尊重模板,angular,flexbox,angular-material,angular8,Angular,Flexbox,Angular Material,Angular8,我们正在尝试创建一个工具栏组件,该组件从另一个组件接收其菜单项。我们希望菜单项位于左侧(主导航)和右侧(语言+用户按钮) 我们为此提供了三个ng内容部分,在第一个(主导航)和另外两个之间有一个间隔 <mat-toolbar color="primary"> <mat-toolbar-row> <ng-content select="[fps-navbar-items]"></ng-content> <span class="spac

我们正在尝试创建一个工具栏组件,该组件从另一个组件接收其菜单项。我们希望菜单项位于左侧(主导航)和右侧(语言+用户按钮)

我们为此提供了三个ng内容部分,在第一个(主导航)和另外两个之间有一个间隔

<mat-toolbar color="primary">
<mat-toolbar-row>
  <ng-content select="[fps-navbar-items]"></ng-content>

  <span class="spacer"></span>

  <ng-content select="[fps-navbar-auth]"></ng-content>
  <ng-content select="[fps-navbar-language]"></ng-content>
</mat-toolbar-row>
</mat-toolbar>

问题是在呈现页面时,间隔符消失了。 因此,所有菜单项都显示在左侧。 就像angular不支持ng内容部分之间的静态内容一样。我们试图在ng内容元素周围添加span/div,但没有帮助

结果是:

感谢您的建议。

不会“生成”内容,它只是投影现有内容。因此,它们之间不应替换任何代码。请参阅这篇有用的文章()中的更多信息


您还可以在此处查看工作示例(),这几乎正是您所需要的。

我重新构建了您的案例,它按预期工作,并且间隔片渲染得很好。Im运行角度8.2.2和材料8.1.3。能否提供更多关于如何将ng内容传递到工具栏的代码?谢谢Sebastian。我这个周末没有访问代码的权限,我可以在下周提供。我们的用例与下面发布的Kenneth示例非常相似。我不明白为什么我们会有不同的行为。周一继续…非常感谢Kenneth。我们的代码与stackblitz非常相似,但我们得到的结果不同。不过,我这个周末没有访问代码的权限,所以我现在无法真正测试或检查任何东西。周一继续…好吧,我的错。我把占位符上的内容交了进去,弄得一团糟。