【发布时间】:2019-04-11 04:49:22
【问题描述】:
我正在尝试在我的 APP 初始化时将新状态推送到浏览器历史记录,但在推送状态时它还会重定向不需要的页面。
这是一个演示工作应用程序。 https://angular-tet5fy.stackblitz.io/page2?fbclid=IwAR1zP_UTnCQxKMp8o3ZXf-n4NR3ftu_4JoulLqItaONa-_wSPJ_DT95OgRU
这是代码:
ngAfterViewInit() {
console.log('init called');
var x = document.referrer;
console.log('ref', x);
if (x) {
console.log('pushing state');
this.location.pushState({id:'page3'}, 'Page3', '/page3');
}
}
预期行为:
- 点击链接会将用户带到第 2 页。
- 当 page2 初始化时,它应该将状态“/page3”推送到浏览器历史记录。
- 当用户现在点击浏览器返回时,它应该转到 /page3,因为它已在上面的步骤 2 中被推送到历史记录。
当前行为:
- 单击链接,将我带到 page2,但在推送状态时它会自动重定向到 /page3。
- 当点击浏览器返回时,它带我回到 /page2。
【问题讨论】:
标签: javascript angular html angular-routing browser-history