我试图将一个对象塞入浏览器的历史记录中,以便在popstate上使用它。发现2方法 window.history.replaceState和从Angular location.replaceState。这是这些方法的基础。 https://angular.io/api/common/Location和https://developer.mozilla.org/docs/Web/API/History_API
这些方法均无法正常工作。更确切地说,window.history.replaceState根本不起作用。每次它重置状态并使用navigationId推入其值时,地雷就会被删除。由于location.replaceState有点模棱两可,因此它不会在所需的组件中发生事件,而是在上一个或下一个事件中发生事件。下面是带有代码的示例,但据我所知,它并没有遍历而是将页面清零。在LAN上,当您从About切换到Main时,什么也没有发生。仅当您不取消订阅时它才有效,但是在这种情况下,可以签署100次不正确的签名。另外,像takeUntil或take(1)这样的rxjs运算符也不起作用。知道这可能是什么吗?一个错误? https://stackblitz.com/edit/angular-angular-ci4w78