page.resolvers.ts 包含了很多接口定義,其中一個就是 PageDescriptionResolver:
而 BasePageMetaResolver,實作了這些接口:
我隻關注 description 字段,維護在 Page 模型的 description 字段裡:
BasePageMetaResolver 裡注入了 CmsService,後者得到 page$ Observable 對象:
所有的 Resolver,都是從這些 Observable 對象裡讀取 Page 包裹對象的對應字段。
在該單元測試執行初始化操作時:
依次初始化 BasePageMetaResolver 的每個字段:
執行 resolveTitle 方法:
調用 CmsService 的 getCurrentPage 方法:
最後拿到 title 字段: