【发布时间】:2017-08-15 05:37:29
【问题描述】:
我正在尝试通过单击浏览器中的后退按钮将用户重定向到特定的 url,这是代码
constructor(private router: Router,private location: PlatformLocation) {
let eventUrl = window.sessionStorage.getItem('Event');
this.location.onPopState(() => {
alert('click');
this.router.navigate(['/', this.selectedLanguage, 'event', eventUrl]);
});
}
但当用户单击后退按钮时,它似乎不会触发事件。代码在当前组件中。问题是什么?
编辑
我尝试了以下建议的答案,但这似乎也不起作用,函数被调用,但它仍然重定向到上一页而不是下面提到的 url
unload(event: any) {
let eventUrl = window.sessionStorage.getItem('buyerEvent');
this.router.navigateByUrl('/' + this.selectedLanguage + '/event/' + eventUrl);
}
【问题讨论】:
-
为什么返回按钮的代码在构造函数里面?
-
这是浏览器的返回按钮
-
对不起,我在手机上没有正确阅读它
-
控制台中的任何错误
-
只有当你在点击
back按钮后离开你的应用时,该事件才会触发。
标签: angular typescript back-button angular-route-segment