【发布时间】:2015-12-14 10:05:10
【问题描述】:
是否有任何方法/最佳实践可以在 SAPUI5 中向用户隐藏不可用的页面?
让我们看一个例子。我有一个带有用户登录页面的复杂应用程序。客户可以在这里登录应用程序,并从后端系统检索他们的角色数据。基于这些角色,不允许某些用户创建新对象。只有登录的用户才能看到应用程序页面。 我正在使用路由,因此也可以通过直接链接访问编辑等功能。
目前我在 Component.js 中使用 onRouteMatched 事件处理程序,它检查当前用户会话存储。如果未找到用户会话,则将请求重定向到登录页面。
问题在于它会在导航到登录页面之前显示请求的页面一两秒钟。真的很丑。
我应该在哪里实现这样的功能?这个用例有什么钩子方法吗?
我想我需要一个钩子方法,在显示与给定路由匹配的视图并将调用重定向到登录页面之前调用该方法。很遗憾,我在该主题中找不到任何有用的文档。
谢谢!
【问题讨论】:
-
只是一个想法:让你的视图由两个视图组成。一个占位符(在
onRouteMatched...之前显示...可能是一个带有busy: true的空面板)和实际内容(在找到用户会话时替换占位符)。这并不能解决您的 1-2 秒延迟。但它隐藏了一些丑陋。 -
我有和你一样的问题和解决方案。我想出了在我的路由器中覆盖
parse函数的解决方案,在这个函数中,您只会收到 url 更改的哈希值,并且您必须根据您的路由和权限解析哈希值。如果授予权限,我将使用参数执行超级解析,否则我给函数空参数(["", undefined])
标签: routing authorization sapui5