Spartacus 4.2 - 类型“"before"”不可分配给类型 'OutletPosition'

Spartacus 4.2 - Type '"before"' is not assignable to type 'OutletPosition'

在尝试自定义导航栏时,我们收到错误

Type '"before"' is not assignable to type 'OutletPosition'.

这是我们正在尝试的代码。

也试过

[cxOutletPos]=“outletPosition.BEFORE”

Spartacus 4.2 引用的文档:

https://sap.github.io/spartacus-docs/outlets/#template-driven-outlets

结果应该是自定义信息之类的,后面是导航栏,如下所示:

此外,由于上述方法无效,我尝试通过 let-model 检索数据进行操作。 我想从我们的组件中检索数据的数组:CategoryNavigationComponent。 但是使用 let-model 和打印模型对象我只能看到 "uid" , "typeCode" 和 "flexType" 但看不到 navigatioNode 和 Children.

有什么方法可以检索屏幕上的导航栏或子数组数据吗?

****in TS File:****
  settingsSubmenu: any = [];

constructor(public component: CmsComponentData<any> )
{
   this.component.data$.forEach(element => {
     element.navigationNode.children.forEach(child => {
      this.settingsSubmenu.push(child)   
     });
    });
}
**in HTML File**

 <ng-container *ngFor="let menuItem of settingsSubmenu">
                        <a mat-menu-item >{{menuItem.title}}</a>
  </ng-container>

如果您的问题是关于 Typescript 错误,那么可能有两种解决方案:

  1. 修改tsconfig.json忽略Typescript错误:

    {
      ...
      "angularCompilerOptions": {
        ...
        "strictTemplates": false
      }
    }
    
  2. 修改您的代码以编译无误:

    在*.component.ts文件中添加导入:

     import {OutletPosition} from '@spartacus/storefront';
    

    并定义变量:

     outletPosition = OutletPosition;
    

    在*.component.html文件中:

     [cxOutletPos]="outletPosition.BEFORE"