当skiplocationchange为true时返回Angular 6

时间:2018-11-15 12:56:25

标签: javascript html angular routing angular6

在Angular 6中路由

当我路由到特定位置时,我会使用

进行导航
route.navigate(['/home'], { skipLocationChange: true });

,但是当返回上一条路线时,以下代码无济于事, 还有其他方法或应删除“ {skipLocationChange:true}”

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

@Component({
  // component's declarations here
})
class SomeComponent {

  constructor(private _location: Location) 
  {}

  backClicked() {
    this._location.back();
  }
}

1 个答案:

答案 0 :(得分:2)

使用skipLocationChange

  

导航时不会将新状态推入历史记录。

这就是为什么使用location.back()无效的原因,因为它只是将浏览器移回历史记录中的先前状态。即使浏览器中的URL被修改,当前状态也不会改变。

如果要将页面的下一个状态添加到浏览器的历史记录中,则不应使用skipLocationChange