Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Um eine View aufrufen zu können, braucht diese einen Pfad, welcher auch als Route bezeichnet wird.




Hinweis:

  • Jede Route muss unique sein. Es können nie gleichzeitig mehrere Views mit der gleichen Route existieren

Um zu einer anderen View zu navigieren, gibt es mehrere Möglichkeiten.

  1. Ziehen Sie einen RouterLink auf die View
  2. Klicken Sie in den Properties auf NavigationTarget
  3. Im folgenden Dialog können Sie nach Ihrer View suchen, zu der dieser Link navigieren soll


Der Server kann auch eine Navigation auslösen. Um das zu erreichen können Sie folgendes machen:

  1. Ziehen Sie einen Button auf die View
  2. Doppelklicken Sie den Button
  3. Geben Sie danach folgenden Code ein:

    UI.getCurrent().navigate(OtherView.class)


Manchmal müssen auch verschiedene Information an die aufzurufende View weitergegeben werden. Dazu können die folgenden Code-Snippets benutzt werden:

// Es können Datentypen wie z.B. String übergeben werden
UI.getCurrent().navigate(OtherView.class, "Hallo Welt");

In OtherView.class muss das HasUrlParameter<String> Interface implementiert werden
Um dort jetzt den Parameter zu bekommen, muss folgende Methode implementiert werden:

@Override
public void setParameter(final BeforeEvent event, final String parameter)
{
	System.out.println("Parameter was " + parameter);
}

Es können unter anderen auch Query Parameter übergeben werden. Mehr dazu kann hier nachgelesen werden: https://vaadin.com/docs/flow/routing/tutorial-router-url-parameters.html

Es können aber auch mit Hilfe des RapidClipse Frameworks ganze Objekte übergeben werden.

Navigation.To(OtherView.class)
			.withParameter("myData", myData)
			.navigate();


Dazu muss in OtherView.java folgendes implementiert werden:

@NavigationParameter
private MyDataType myData;

@Override
public void navigationParametersUpdated()
{
	System.out.println("myData is now available!");
}

Hinweis:

  • navigationParametersUpdated() muss nicht implementiert werden.
  • Mit .withParameter() kann ein beliebiger Datentyp übergeben werden.


  • No labels