当前位置: 首页 > Web前端 > HTML

如何获取SAP电商云Spartacus商品详情页的pageContext?

时间:2023-03-28 18:45:13 HTML

调试入口:this.routingService.getNextPageContext()这个页面context直接从store中读取,无法通过selector调试得到。我们之前了解到,当Angular路由器框架将浏览器地址栏中的url成功匹配到开发者通过RouterModule.forChild传入的routes数组时,会抛出RoutesRecognized事件,如下图所示:if(eventinstanceofRoutesRecognized){routesRecognized=event;如果(!dispatchNavLate&&this.trigger!==RouterTrigger.STORE){this.dispatchRouterNavigation(事件);Angular路由器框架在这里提供了一个钩子,允许应用程序开发人员修改下一个路由器状态,即nextRouterState变量:@Injectable().RouterStateSerializer这里是硬编码的,只要routerState中的参数出现productCode,我们就认为这是一个Product页面:if(params['productCode']){context={id:params['productCode'],类型:PageType.PRODUCT_PAGE};然后调用我们的reducer:这些是之前的serializerpopulateData:这里我们把navigationtarget写进内存状态,这样下一个selector就可以从state中读取商品详情页的pagecontext:至此问题已经解决。更多Jerry原创文章在这里:《王子熙》: