gpt4 book ai didi

使用 setRoot 切换到其他应用程序时,Aurelia 会清除路线历史记录

转载 作者:行者123 更新时间:2023-12-02 16:18:42 26 4
gpt4 key购买 nike

Aurelia 路由器会记住我上次访问的页面,即使在使用 setRoot() 之后,它也会将我重定向到该页面,即使我想再次登陆主应用程序页面。

我将尝试在用例中解释它。我有两个应用程序:loginapp。我登录 login 应用程序并重定向到 app。我导航到 app 上的 /securedPage,然后继续注销并再次重定向到 login。我使用另一个用户登录login,然后我重定向到app/securedPage我想要并且应该被重定向到 app

使用 setRoot() 在应用程序之间切换时如何清除路线历史记录?

最佳答案

想要帮忙,最近得到了这个工作,上面的建议几乎工作,但他们缺少一些部分。在这个帖子中,Aurelia (Eisenberg) 的创建者回应了一个建议: https://github.com/aurelia/framework/issues/590

因此要切换应用程序根目录,请执行以下操作:

    this.router.navigate('/', { replace: true, trigger: false });
this.router.reset();
this.router.deactivate();

this.aurelia.setRoot('app');

就我而言,我实际上可以跳过重置和停用部分,然后执行

    this.router.navigate('/', { replace: true, trigger: false });

但是,在没有替换和触发部分的情况下执行 this.router.navigate('/') 会导致问题,尤其是在多次切换应用程序根目录时。

所以请务必添加:

     ... { replace: true, trigger: false });

关于使用 setRoot 切换到其他应用程序时,Aurelia 会清除路线历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36247052/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com