在插槽内获取cms组件数据

时间:2020-10-14 12:59:39

标签: spartacus-storefront

我们正在尝试设置包含许多CMSLinkComponents的现有插槽(SiteLinks)的样式。我们无法获取组件的完整数据,因为在ng-template上使用uid语法时,我们只会收到typeCodelet-[var]

是否有一个示例,说明如何访问这些组件的完整数据,而无需根据uid单独请求它们?

<ng-template cxOutletRef="SiteLinks" let-data>
  <pre>{{ data.components$ | async | json }}</pre>
</ng-template>

1 个答案:

答案 0 :(得分:1)

上下文模型取决于使用插座的位置。在您的情况下,这是一个Slot模型,并且在此层次结构级别上,您只有组件列表,而没有它们的数据,因为您应该分别获取数据。

我相信,这种方法会起作用:

<ng-template cxOutletRef="SiteLinks" let-slot>
  <ng-container *ngFor="let component of (slot.components$ | async)">
    <ng-container [cxComponentWrapper]="component"></ng-container>
  </ng-container>
</ng-template>

cxComponentWrapper在需要处理嵌套组件的情况下也很有帮助。