サーバー側のリソースが必要routeです。resolveそのリソースは認証を要求します。そのため、キャンセル可能なログインフォームポップアップを表示します。キャンセルすると、ルート/解決が正しく取得rejectedおよび起動されます。$routeChangeError
問題は、アドレスバーに失敗した場所/URL と不要な履歴エントリがあることです。
リロードせずに現在の場所の URL を最後のものに置き換えるにはどうすればよいですか? また、ルート変更が失敗した後、現在の履歴エントリを削除するにはどうすればよいでしょうか?
編集: angular-http-auth を使用します。これが私のルーティングです:
/home> /item(認証が必要なリソースを解決する必要があります。ログイン フォームにログインしていない場合、キャンセル可能なポップアップが開きます)
認証をキャンセルすると、$routeChangeError が発生し、レンダリングされない/home
ためにまだページにいます。/itemアドレス バーに間違った URL が表示されるようになりました。/item