带浏览器后退按钮的Aurelia setRoot?
在我们正在使用的web应用程序中,我们有三个根带浏览器后退按钮的Aurelia setRoot?,aurelia,Aurelia,在我们正在使用的web应用程序中,我们有三个根 授权根 这将处理应用程序的前端和登录过程 取根 这用于查询数据库并获取用户的初始信息 有四种类型的用户需要略有不同的数据 管理根 这是授权和获取处理后管理区域的根目录 登录后它的工作原理是,应用程序将去获取引导代码,然后在所有管理路由中使用该代码 存在用户级别的层次结构; -超级管理员查看所有管理员 -管理员查看所有代理 -代理可以看到所有用户 -用户只看到他们的帐户 如果以超级管理员、管理员或代理身份登录,则需要向下导航到用户级别。
- 这将处理应用程序的前端和登录过程
- 这用于查询数据库并获取用户的初始信息
- 有四种类型的用户需要略有不同的数据
- 这是授权和获取处理后管理区域的根目录
超级管理员
、管理员
或代理
身份登录,则需要向下导航到用户级别。
这是通过选择一个帐户来完成的,然后将重新运行fetch并获取给定用户级别上的下一级别帐户
目前,我有它切换路线和更新的网址没有问题感谢德韦恩在这里
问题是我需要保留浏览器历史记录,因此当单击“后退”按钮时,它需要“重新运行”该页面
我有以下代码
this.router.navigate(url, { replace: false, trigger: false });
this.aurelia.setRoot(PLATFORM.moduleName('views/masters/fetch'));
这非常有效,它交换了根目录,重新运行代码并正确地更新了地址栏,但是,当我单击“后退”按钮时,所有发生的事情都是URL更新,但页面不会“重新运行”
我试着把这个放进去,但似乎什么也没做
determineActivationStrategy() {
return activationStrategy.replace;
}
有谁能解释一下这个问题,或者提供一个稍微不同的解决方案来解决这个问题吗?对我来说,您使用了错误的aurelia功能来实现您的逻辑。是的,setRoot可以在应用程序启动时动态加载不同的根,但这是在aurelia路由器维护的历史之前/之上。为什么不将setRoot修复为一个静态组件,然后使用顶级路由器动态加载应用程序的3个不同区域?@huocp我没有看到此消息,不幸的是,我们无法更新其工作方式。我目前有一个解决办法,似乎已经通过添加预授权路由和检查url参数暂时解决了这个问题