连接多个UI5项目

时间:2017-09-29 07:52:37

标签: javascript sapui5

我有多个UI5项目(让我们调用app X和Y),我在app X中使用路由器,

我的应用X中有一个工具栏菜单,当我点击其中一条路线时,我希望它将我重定向到另一个名为app Y的项目。

使用SAP UI5是否可行?

我的两个项目都在同一个云文件夹中。 (我在sap云平台上开发它们,我需要在其他HTML5应用程序中使用一个HTML5应用程序)

3 个答案:

答案 0 :(得分:1)

如果您使用Fiori启动板,您可以使用语义对象从应用程序导航到另一个。 有关fiori启动板云中导航的更多信息,请参阅this

如果您不使用Fiori Launchpad,我建议您使用通过将其添加到您的根资源中提供的解决方案boghyon。

答案 1 :(得分:0)

有更多方法可以解决您的问题。

  1. 将侦听器附加到路由。如果触发了点击,则应进入路线的处理程序功能。然后,您可以简单地location.replace("<location of app Y>")
  2. 将应用程序Y作为组件添加到应用程序X中。为此只需使用ComponentContainer,然后将ComponentContainer放入View或DOM的任何div中

使用“ root”应用程序可能是有道理的,其中应用程序X和应用程序Y被封装,并且根应用程序的路由器将其他应用程序作为ComponentContainer添加到根应用程序的视图中。如果子应用程序还使用路由器功能,则可以将父组件添加到子应用程序的路由中。

答案 2 :(得分:0)

体系结构

首先,您应该考虑X到Y的依赖关系和层次结构,然后编排嵌套的组件。一些例子:

情况1: :级别相等且没有依赖关系,然后创建根组件用于独立导航并在UI5框架上加载一次。将X和Y嵌套到此组件中。最好通过模块加载器将它们作为依赖项注入。

情况2: Y是X的一部分,并依赖于它,例如。控件,模型等。然后X应该嵌套组件Y以便转发这些依赖关系。

案例等

实施

在特定位置上的现有“ sap.ui.core.Component”中加载新的“ sap.ui.core.Component”。在导航路线上。您只需在视图结构中所需位置的视图内将带有ComponentContainer的组件作为XMLTag添加到该组件中即可。附言确保在应用程序引导中提供了组件名称空间。嵌套的组件应加载并呈现自身。