所以我有一个调用的按钮,Location.back()
我希望在有历史记录时显示它,是否可以检查位置是否有任何历史记录,或者可以返回?
或者有没有办法访问历史错误?
Angular Version:2.2.3
HTML:
<div (click)="historyBack()">
<i class="fa fa-angle-left"></i>
</div>
成分:
import {Location} from '@angular/common';
@Component(...)
export class HomeComponent{
hasHistory = false;
constructor(
private _location: Location
){
this.hasHistory = //Magic code
}
historyBack(){
this._location.back();
}
}
答案 0 :(得分:1)
您可以使用JavaScript查看用户最后访问的地方:
document.referrer
因此,在您的情况下,您可以检查用户是否可以返回,如下所示:
historyBack() {
if (document.referrer) {
this._location.back();
}
}
答案 1 :(得分:0)
在Angular 7
中,您可以使用Router.navigated
属性来检查是否发生了任何导航事件。
constructor(
private router: Router,
private location: Location
) {
this.hasHistory = this.router.navigated;
}