DBILITY

vaadin flow navigating between routes 본문

front-end & ui/vaadin flow

vaadin flow navigating between routes

DBILITY 2018. 9. 10. 15:33
반응형

공식 사이트 문서를 참조하여 작성하였다.

 

RouterLink Compnent를 사용하여 navigation target에 연결되는 Link를 생성할 수 있다.

일반적으로 Anchor를 통해 링크를 생성할 수 있지만, 이 경우 페이지가 다시 로드된다.

RouterLink는 페이지를 다시 로드하지 않고, Component를 불러와 업데이트할 수 있다.

Server Side에서도 UI.navigate() 메서드를 통해 처리할 수 있으나, Router Link는 session이 만료된 이후에도 작동하므로, Router Link를 사용하는 것이 좋다고 한다. UI.navigate는 session scope에서만 동작한다는 건가?

@ParentLayout(MainLayout.class)
public class MenuBar extends VerticalLayout implements RouterLayout {

	public MenuBar() {
		addMenuElement(TutorialView.class, "Tutorial");
		addMenuElement(IconsView.class, "Icons");
		/*NativeButton button = new NativeButton("눌러봐~", new ComponentEventListener<ClickEvent<NativeButton>>() {

			@Override
			public void onComponentEvent(ClickEvent<NativeButton> event) {
				UI.getCurrent().navigate("icons");
			}
		});
		add(button);*/
		NativeButton button = new NativeButton("눌러봐~");
		button.addClickListener(new ComponentEventListener<ClickEvent<NativeButton>>() {
			@Override
			public void onComponentEvent(ClickEvent<NativeButton> event) {
				event.getSource().getUI().get().navigate("icons");
			}
		});
		add(button);
	}

	private void addMenuElement(Class<? extends Component> navigationTarget, String name) {
		add(new RouterLink(name, navigationTarget));
	}
}

 

반응형

'front-end & ui > vaadin flow' 카테고리의 다른 글

vaadin flow getting registered routes  (0) 2018.09.11
vaadin flow router exception handling  (0) 2018.09.10
vaadin flow URL generation  (0) 2018.09.10
vaadin flow routing and URL parameters  (0) 2018.09.10
Vaadin 10 learning resources  (0) 2018.09.09
Comments