【发布时间】:2019-12-24 07:09:16
【问题描述】:
Vaadin 14 手册中的Navigation Lifecycle 说:
还可以使用
UI中的addBeforeEnterListener(BeforeEnterListener)方法为此事件注册一个独立的侦听器。
但是在具有路由功能的现代 Vaadin 中,我们不再应该编写 UI 子类。我粗略的理解是确实有一个UI对象为我们自动实例化,然后路由自动替换了那个UI对象里面的内容。所以UI 对象的存在对于我们使用 Vaadin Flow 的程序员来说应该是透明的。
➥ 那么新的UI 实例上的生命周期挂钩是什么,以便我可以将用户身份验证检查编写为BeforeEnterListener 以在我的所有@Route 视图中全局工作?
调用UI.getCurrent 不行,因为我需要从我的布局中的某个地方调用它,但我试图在我的布局存在之前注册一个监听器。
【问题讨论】:
-
注意
UI的行为和目的在最近的 Vaadin 中发生了巨大变化。UI对象不一定在您的窗口/选项卡打开的整个过程中都是稳定的。UI对象被替换,莫名其妙,有时非常迅速。您不应再在UI对象上存储窗口/选项卡范围的对象。有关更多讨论,请参阅 Vaadin 论坛。
标签: user-interface vaadin hook lifecycle vaadin-flow