Angular 阻止应用程序2外部的location.back()
我为我的应用程序编写了PageNotFound组件,并在此处添加链接“返回”,但如果历史记录为空,我想在主页“/”上重定向用户Angular 阻止应用程序2外部的location.back(),angular,angular2-routing,Angular,Angular2 Routing,我为我的应用程序编写了PageNotFound组件,并在此处添加链接“返回”,但如果历史记录为空,我想在主页“/”上重定向用户 如何实现这一点?我通过以下方式解决了这个问题: back() { if (window.history.length > 1) { this.location.back(); } else { this.router.navigate(['/']); } }
如何实现这一点?我通过以下方式解决了这个问题:
back() {
if (window.history.length > 1) {
this.location.back();
} else {
this.router.navigate(['/']);
}
}
首先,你不能控制应用程序之外的任何东西。您可以使用
router.navigate
而不是location.back
,这意味着这一切都在您的应用程序中。您建议如何使用router.navigate
?是否总是在主页上重定向?只有在您以前未访问另一侧时,此选项才有效。
back() {
if (window.history.length > 1) {
this.location.back();
} else {
this.router.navigate(['/']);
}
}