gpt4 book ai didi

javascript - Angularjs - 在 $routeChangeError 之后删除最后一个历史条目

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:17:50 30 4
gpt4 key购买 nike

我有一个路由,它必须解析服务器端资源。该资源要求进行身份验证。所以我显示了一个可取消的登录表单弹出窗口。取消时路由/解析被rejected 并且$routeChangeError 正确触发。

问题是,我现在在地址栏中有那个失败的位置/url 和一个不必要的历史条目。

如何在不重新加载的情况下将当前位置 url 替换为上一个?路由更改失败后如何删除当前历史记录?

编辑:我使用 angular-http-auth。这是我的路线:

/home > /item(必须解析需要身份验证的资源,当未登录时会打开可取消的登录表单弹出窗口)

当我取消身份验证时,一个 $routeChangeError 被触发,我仍然在 /home由于 /item 从未呈现的页面。现在地址栏显示错误的 url:/item

最佳答案

您只需将它们送回您的历史记录中的一步。不要担心历史记录在那里,当他们导航到下一件事时它会被覆盖:

app.run(function($rootScope, $window) {
$rootScope.$on('$routeChangeError', function () {
$window.history.back();
});
});

And here's a demo Plunk

关于javascript - Angularjs - 在 $routeChangeError 之后删除最后一个历史条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21410904/

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