page.resolvers.ts 包含了很多接口定义,其中一个就是 PageDescriptionResolver:
而 BasePageMetaResolver,实现了这些接口:
我只关注 description 字段,维护在 Page 模型的 description 字段里:
BasePageMetaResolver 里注入了 CmsService,后者得到 page$ Observable 对象:
所有的 Resolver,都是从这些 Observable 对象里读取 Page 包裹对象的对应字段。
在该单元测试执行初始化操作时:
依次初始化 BasePageMetaResolver 的每个字段:
执行 resolveTitle 方法:
调用 CmsService 的 getCurrentPage 方法:
最后拿到 title 字段: