美文网首页SAP
SAP Spartacus cms.service.ts get

SAP Spartacus cms.service.ts get

作者: 华山令狐冲 | 来源:发表于2021-01-02 11:21 被阅读0次

在cms.service.ts的getComponentData函数尾部加上subscribe方法打印取回的Componentdata:

/**
   * Get CMS component data by uid
   *
   * This method can be safely and optimally used to load multiple components data at the same time.
   * Calling getComponentData multiple times for different components will always result in optimized
   * back-end request: all components requested at the same time (in one event loop) will be loaded in one network call.
   *
   * In case the component data is not present, the method will load it.
   * Otherwise, if the page context is not provided, the current page context from the router state will be used instead.
   *
   * @param uid CMS component uid
   * @param pageContext if provided, it will be used to lookup the component data.
   */
  getComponentData<T extends CmsComponent | null>(
    uid: string,
    pageContext?: PageContext
  ): Observable<T> {
    const context = serializePageContext(pageContext, true);
    if (!this.components[uid]) {
      // create the component data structure, if it doesn't already exist
      this.components[uid] = {};
    }

    const component = this.components[uid];
    if (!component[context]) {
      // create the component data and assign it to the component's context
      component[context] = this.createComponentData(uid, pageContext);
    }

    const result = component[context] as Observable<T>;
    console.log('Jerry in getComponentData method, uid: ' + uid);
    result.subscribe((data) => {
      console.log('Jerry got cp data: ' + JSON.stringify(data));
    });
    return result;
  }

Jerry in getComponentData method, uid: HamburgerMenuComponent

在下图这里这个自定义指令cx-component-wrapper发起的对某Component的读取请求:

相关文章

网友评论

    本文标题:SAP Spartacus cms.service.ts get

    本文链接:https://www.haomeiwen.com/subject/kcstpktx.html