从 Vaadin 23 视图内部访问布局

Ben*_*inD 1 java vaadin vaadin-flow

我正在使用 Vaadin 23。

我定义了一个“MainLayout”类来承载抽屉等。

在我的视图声明中,我有注释:

@Route(value = "", layout = MainLayout.class)
Run Code Online (Sandbox Code Playgroud)

在我看来,如果我尝试

this.getParent();
Run Code Online (Sandbox Code Playgroud)

返回的选项为空。

那么,如何从视图实例调用 MainLayout 类中的方法?

Kno*_*bie 5

UI事件总线

您可以使用 Eventbus 来处理视图引发的自定义事件以及侦听这些事件的布局,而不是在视图和主布局之间创建强耦合。

您可以在 Vaadin 的食谱中找到一个官方示例,在附加到一个 UI 的组件之间进行通信