Angular2 检查 Location.back 是否有历史可追溯?

Kef*_*eff 14 location typescript angular

所以我有一个按钮可以调用, Location.back()我想在它有历史记录时显示它,是否可以检查位置是否有任何历史记录,或者可以返回?

或者有没有办法自己访问历史?

角度版本: 2.2.3

HTML:

<div (click)="historyBack()">
  <i class="fa fa-angle-left"></i>
</div>
Run Code Online (Sandbox Code Playgroud)

成分:

import {Location} from '@angular/common';

@Component(...)
export class HomeComponent{
  hasHistory = false;
  constructor(
   private _location: Location
  ){
    this.hasHistory = //Magic code
  }
  historyBack(){
    this._location.back();
  }
}
Run Code Online (Sandbox Code Playgroud)

小智 12

Angular 7你可以使用Router.navigated属性来检查是否发生任何导航事件。

constructor(
  private router: Router,
  private location: Location
) {
  this.hasHistory = this.router.navigated;
}
Run Code Online (Sandbox Code Playgroud)