首页 > 解决方案 > 从 Vaadin (20) Flow 项目中的模板文件初始化路由器事件

问题描述

我有一个基于 Flow 的 Vaadin 20 应用程序。所有视图都是用 Java 编写的,并且路由是用 Java 设置的。我想要一个更好的导航组件,所以我为我的项目创建了一个前端 TS 模板,如frontend/src/vaadin-nav.ts. 它有一堆<a>用于导航目的的元素。

我的问题是,我应该如何从模板正确链接到服务器端路由?我有AboutView.java例如@Route(value = "about", layout = MainView.class)。如何在模板中告诉“导航到'关于'”?我尝试检查Fusion 的路由器说明,但它们要求我设置了一个带有插座的客户端路由器对象。我不想这样做,因为我已经有一个MainView.java设置路由和出口的。

标签: vaadinvaadin-flowvaadin-router

解决方案


Vaadin 20 始终使用客户端 Vaadin 路由器。在具有流视图和服务器端MainView.java或类似视图的应用程序中,客户端路由器只是将所有路由决策委托给服务器,并将页面的根用作路由器出口。

客户端路由器拦截对本地<a href>链接的点击(例如,不链接到单独的主机名)并将其视为路由器操作。如果没有客户端路由,则它委托给服务器。

这意味着在您的文件中<a href="about">About</a>应该足够了。vaadin-nav.ts


推荐阅读