除了问题标题之外,我已经在 Angular 5 中编写了一个实现来实现此目的,但我未能使其工作。
https://stackblitz.com/edit/angular-nhtgbr
这个想法是,每当用户在浏览器中单击后退或前进时,应用程序就能够检测到 url 更改并更新内容(如果它仍在同一组件中)。
import { Component, OnInit } from '@angular/core';
import { Location, PopStateEvent } from '@angular/common';
import { ActivatedRoute, Event, NavigationEnd, Router } from '@angular/router';
@Component({
selector: 'app-dashboard',
template: 'Read in console'
})
export class DashboardComponent implements OnInit {
page: number = 1;
constructor(private router: Router,
private activatedRoute: ActivatedRoute,
private location: Location) { }
ngOnInit() {
this.detectPopState();
setTimeout(() => this.goToPage(1), 1000);
setTimeout(() => this.goToPage(2), 2000);
setTimeout(() => this.goToPage(3), 3000);
setTimeout(() => this.goToPage(4), 4000);
setTimeout(() …Run Code Online (Sandbox Code Playgroud)