浏览器的历史记录有以下问题.
我在我的应用程序中点击了按钮然后我
this._router.navigate([...哪个是错的,因为我在历史页面中我和我导航的页面一样.然后当用户点击本机后退按钮时,他在错误的页面上结束.
我改成了
this.location.replaceState('xxx');
this.router.navigate(['/xxx'], { skipLocationChange : true });
Run Code Online (Sandbox Code Playgroud)
这只是技巧的一半,因为当我在应用程序中使用后退按钮时,我导航到页面,当我使用本机后退按钮时没有任何反应,因为我有两次.
我知道如何从历史中删除另一个州?
Joe*_*nna 17
你应该导入Location:
import { Location } from '@angular/common';
Run Code Online (Sandbox Code Playgroud)
然后在构造函数中:
constructor(
private _location: Location
) { }
Run Code Online (Sandbox Code Playgroud)
在您想要返回的代码中,您可以简单地执行以下操作:
this._location.back();
Run Code Online (Sandbox Code Playgroud)
或者,如果您想跳过一些历史记录,您可以这样做:
window.history.go(-2);
Run Code Online (Sandbox Code Playgroud)
这个会做两次,就像你按了两次按钮一样.
| 归档时间: |
|
| 查看次数: |
8912 次 |
| 最近记录: |