翻译如何在 SAP 电商云 Spartacus UI 里访问 CMS Component data 数据
答案是采用 CmsComponentData 这个服务。
看个实际例子:

CmsQuickOrderComponent 的定义,维护在 models 文件夹里:

运行时,只能访问到上图新 extend 出的字段 quickOrderListLimit 的值:

我们另外找一个 Banner Component 试试。


对于 BannerComponent 来说,CmsComponentData 的数据是完整的。
这个 CmsComponentData 只是一个 abstractClass , 它的运行时实例化发生在什么时候呢?

运行时,是一个 object:

找到一个 Component Data provider:

最终答案是,SAP Spartacus 开发团队,设计了一个统一的 cms-injector.service.ts, 用于为所有 CMS Component 统一注入 CmsComponentData. 因为注入时需要编写自定义代码,所以以 useFactory 的方式注入。

更多Jerry的原创文章,尽在:"汪子熙":

===========================
【来源: 51CTO】
【作者: JerryWang汪子熙】
【原文链接】 https://blog.51cto.com/jerrywangsap/4659540
声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。