SAP Spartacus CMSService 的调用栈以及
2021-09-19 本文已影响0人
_扫地僧_
SAP Spartacus 有多达 31 个 AppInitiators:
SeoModule 是其中之一。
initSeoService 方法里,执行 SeoMetaService 的 init 方法。
Init 方法里,读取 meta 数据:
Page 对象的明细:
解析到的 meta 数据:
第 30 行给 this.meta 赋值,就会触发第 33行的 set 操作:
在 set 操作里分别给每个字段比如 title 赋值,又会进一步触发 title 的 set 操作:
这里会调用 ngTitle 设置 title:
触发对应的 setter:
这里准备添加 description meta tag 了:
转移到框架实现:platform-browser.js
最后还是通过 dom 的原生方法,createElement 创建的 meta 标签:
最后在 Chrome 开发者工具的 Elements 里能看到 meta 标签了:
但是,view source 的显示里,并没有这个 meta 标签:
更多Jerry的原创文章,尽在:"汪子熙":