如何在 UI5 父应用程序中加载子组件,而不在 manifest.json 中定义它们?

How to load a Child Component in UI5 parent app, without defining them in the manifest.json?

如何在 UI5 父应用程序中加载子组件?。 我正在尝试实现一个 Fiori Launchpad,它可以将其他应用程序作为子组件加载。

到目前为止我指的是

但是实现它需要在清单中明确定义子组件。 谢谢!

要将一个组件嵌入到另一个组件中,您需要使用 ComponentContainer - 如果您的应用对 child“先验”。例如,如果您的“parent”应用在 运行 时间从数据服务获取有关 child 的信息。

https://sapui5.hana.ondemand.com/#/api/sap.ui.core.ComponentContainer

您可以使用其他控件的任何方式使用 ComponentContainer。您可以在 XML 视图中使用它,或者在控制器中实例化它,然后将它添加到页面的内容中(只是一个例子)

PS:只需确保 child 组件的 URL 来自同一主机。或者,如果它来自不同的主机,它允许使用 ajax 请求(cross-origin-policy 和东西)

进行检索

更新 2021-01-04: 这是 JS Fiddle:

中的一个 quick-and-dirty 示例

https://jsfiddle.net/iPirat/t30sr8zw/

我在此处嵌入了 sapui5.hana.ondemand.com 中的 Button-Sample-Component。 由于 CORS 政策,如果您在浏览器中禁用网络安全 example how to do so in chrome

,它只会 运行