天天看点

SAP Spartacus ProductService.get的几个调用场景

Product Carousel的ComponentData通过构造函数注入:

SAP Spartacus ProductService.get的几个调用场景
SAP Spartacus ProductService.get的几个调用场景

通过查看componentData.data$.operator.project就能知道这个Observable的Operator逻辑:

SAP Spartacus ProductService.get的几个调用场景

this.getComponentData(uid, currentContext)设置断点:

SAP Spartacus ProductService.get的几个调用场景

在product-carousel.component.ts的items$设置断点:ComponentData通过构造函数注入。

SAP Spartacus ProductService.get的几个调用场景
SAP Spartacus ProductService.get的几个调用场景
SAP Spartacus ProductService.get的几个调用场景

首页的这些数据都是通过scope.LIST来读取的:

SAP Spartacus ProductService.get的几个调用场景

点击某个icon后:

SAP Spartacus ProductService.get的几个调用场景
SAP Spartacus ProductService.get的几个调用场景

此时进入product-variant.guard.ts:调用productService.get, scope为ProductScope.VARIANTS:

SAP Spartacus ProductService.get的几个调用场景

稍后再次触发,scope为Product.details:

SAP Spartacus ProductService.get的几个调用场景

继续阅读