2016-07-21 23 views
1

Ich habe zwei Apps. Die erste App hat eine Ansicht. Dort drücke ich einen Knopf und dann sollte es zur zweiten Anwendung wechseln. Ich möchte nicht zur ersten Ansicht navigieren, sondern zur zweiten mit einem Parameter.SAP UI5 Anwendungsübergreifende Navigation ohne FLP

Ich benutze diese:

oCrossAppNavigator.toExternal({ 
    target : { 
       semanticObject : "Z_APP2", 
       action : "onPress" 
      }, 
    params : { 
       param1 : param1 
      } 

In APP2 Ich schreibe dies in den Component.js:

var oRouter = this.getRouter().initialize(); 
     var oComponentData = this.getComponentData(); 
     if (oComponentData.startupParameters) { 
      oRouter.navTo("Detail", { 
       param1 : oComponentData.startupParameters.param1[0], 
      }, false); 

Es ist nicht auf die andere App schaltet. Welche Aktion soll ich hier schreiben? Muss ich etwas anderes in App2 implementieren?

+0

Haben Sie semantisches Objekt am Backend konfiguriert? Hast du das entsprechende Ziel in Fiori Launchpad konfiguriert? – slkorolev

+0

Ja, ich erstelle eine BSP-Anwendung und eigenständig funktioniert es gut. Ich füge auch diesen Code vor dem Bootstrap hinzu. Ich erstelle nur zwei BSP-Applikationen. Ich habe kein Launchpad. Ist es auch möglich? Wo definiere ich die Handlung, die ich ergreifen sollte? – Mario

+0

Scheint, dass Cross-App-Navigation nur für Fiori Launchpad funktioniert. Für Standalone-App müssen Sie wahrscheinlich nur URL verwenden – slkorolev

Antwort

1

Die Antwort lautet:

window.location.replace("-- url with parameters here --") 

Das richtige System ist: window.location.host

0

Ich habe ein gleiches Problem. SAPUI5 sap.m.URLHelper bereitzustellen, die redirect method enthält:

sap.m.URLHelper.redirect(sURL, bNewWindow?) 

Ich denke SAPUI5 die gleiche Sache als window.location.replace tun(), aber mehr SAPUI5 freundlich.