如何解决@UIScope 上的网格注释视图奇怪的行为
Vaadin 19.0.6,弹簧靴。例如,在两个不同的浏览器或选项卡中打开用 @UIScope 注释的同一个视图。然后为window1中的网格请求数据。现在从 window1 中的视图导航并为 window2 中的网格请求不同的数据。返回到 window1 中的视图,您将在网格中看到与 window2 中相同的数据。我还不明白如果你有 @UIScope 怎么会发生这种情况 - 范围仅限于浏览器选项卡。某种数据提供者共享?
解决方法
我找到了原因。很容易混淆在 UiScope 中“保存”了哪个 bean。例如,如果您有带有 Service bean 的 DataProvider,那么 Service bean 不是每个视图唯一的。您必须将每个视图的所有逻辑都移到 DataProvider 中。这是我的错误。
附注。一些额外的解释。如果您从 View bean 设置 Service bean 的某些属性,那么这些属性将被全局设置,当您返回某个使用相同服务的视图(与位置无关 - 选项卡、窗口、浏览器、会话)时,您将获得最后一个全局服务状态。我希望这会对某人有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。