【问题标题】:Unable to create component with outletref in Spartcus3.0.0-next.3无法在 Spartcus3.0.0-next.3 中使用 outletref 创建组件
【发布时间】:2020-10-16 14:46:40
【问题描述】:

我正在尝试在登录后的“我的帐户”下拉菜单后创建一个新的段落组件。 我尝试在 b2b 功能中的 ng-reflect-position="SiteLogin" 之后创建一个组件。

当前使用 Spartcus3.0.0-next.3。发现在 2.0 到 3.0 之间有语法变化。

创建的步骤是: 创建了一个角度组件,它的模块被导入到了 app.module.ts

从 '@spartacus/storefront' 导入 { OutletRefModule};在新组件模块中

在 app.component.html 中导入新创建的组件

组件代码是

 

Hi 这个新组件

在 SiteLogin 组件之后我看不到新导入的段落组件。以同样的方式在 2.0 中可以使用 cxOutletRef="testComponent" 获取组件,但在 3.0 中没有显示组件。

我是否缺少任何代码?任何人都可以请帮助如何在 3.0 中获取组件

提前致谢。

【问题讨论】:

  • 工作。本地更新最新的预发布版本存在问题。一旦安装了最新的 ng,它就可以正常工作了。
  • 我们不知道这个问题,但我很高兴你能够解决它!

标签: angular storefront spartacus-storefront b2b


【解决方案1】:

下拉菜单中的导航条目没有可用的出口。下拉导航本身是一个 cms 组件,并且(目前)没有更多细粒度的出口供您使用。

然而,大多数客户会控制 CMS 中的导航。也许这是需要考虑的事情。

然而,您的代码应该在SiteLogin 页面槽之前生成模板代码。您可能会遇到一个小问题,因为您似乎引用了变量 SiteLogin 而不是字符串 "SiteLogin"。您需要从 cxOutletRef 指令中删除括号:

<ng-template cxOutletRef="SiteLogin" cxOutletPos="before" let-model>
  template content...
</ng-template>

【讨论】:

  • 我尝试删除括号仍然无法正常工作。尝试在 Section1 Content 之前显示 SiteLogin 或 Section1 cxOutletRef 没有反映模板 仍然没有显示内容。有什么帮助吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-17
  • 2016-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多