收藏SAP

SAP Spartacus 如何使用 API 从浏览器 loca

2021-12-16  本文已影响0人  _扫地僧_

如下图所示,SAP 电商云 UI,用户的购物车 ID,持久化在浏览器的 local storage 里:

运行时,通过封装好的函数 getStorage 读取:

为什么会触发 State module 的加载?


并没有直接用到 StateModule:


默认使用 local storage:


新建一个 subscription,自执行:


上图代码的逻辑:

unsubscribe 之后仍然可以 subscribe,为啥?


对于 interval 产生的 Observable 来说,可以被 unsubscribe.

最后用的是浏览器的原生 API 读取 local storage 数据:


代码第 47 行的 storage 引用,来自函数 getStorage,从 winRef 获取:

winRef 通过依赖注入生成:


winref 包含了 Spartacus 团队针对 Document 的一个封装:

直接利用 Angular 标准的 injection token 来检测运行环境是浏览器还是服务器:


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


上一篇下一篇

猜你喜欢

热点阅读