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 错误,那么可能有两种解决方案:
修改tsconfig.json忽略Typescript错误:
{
...
"angularCompilerOptions": {
...
"strictTemplates": false
}
}
修改您的代码以编译无误:
在*.component.ts文件中添加导入:
import {OutletPosition} from '@spartacus/storefront';
并定义变量:
outletPosition = OutletPosition;
在*.component.html文件中:
[cxOutletPos]="outletPosition.BEFORE"
在尝试自定义导航栏时,我们收到错误
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 错误,那么可能有两种解决方案:
修改tsconfig.json忽略Typescript错误:
{ ... "angularCompilerOptions": { ... "strictTemplates": false } }
修改您的代码以编译无误:
在*.component.ts文件中添加导入:
import {OutletPosition} from '@spartacus/storefront';
并定义变量:
outletPosition = OutletPosition;
在*.component.html文件中:
[cxOutletPos]="outletPosition.BEFORE"