浏览器后退按钮无法正常工作,我在同一组件中按了后退

问题描述 投票:0回答:1

如果我选择推荐部分,则我已经在页面中推荐了部分,它工作正常。但是在使用浏览器后退按钮时,我可以看到URL更改了,但是页面没有根据上一页进行显示。两个页面都被覆盖。在我的代码中,推荐的部分在我的角度项目中具有不同的组件,而主要的部分具有不同的组件。注意:单击“推荐”部分后,页面将重新加载。

当前网址:http://localhost:8080/project/slidercontent/2点击按钮网址后:http://localhost:8080/pwa/slidercontent/0

angular typescript
1个回答
0
投票

您可以订阅参数更改,然后像这样进行相应操作:

@Component({
  ......
})
export class NameComponent implements OnInit {

  constructor(private route: ActivatedRoute) { }

  ngOnInit() {
    this.route.params.subscribe(res => {
      if (res.id === 0) this.initNew() // 'id' here is an example url parameter
      else this.initExisting(res.id)
    })
  }

  initNew() {
    //..
  }

  initExisting(id: number){
    //..
  }
}

而且,根据相应的含义,您可以根据参数的实际情况来处理组件的设置或重置。把它当作您的工作,而不是路由器的工作。在首次初始化时以及在导航到具有不同参数的相同网址时,将触发此触发器

Angular具有重新加载路线的设置。这是一个名为onSameUrlNavigation的参数(不建议)

@NgModule({
  imports: [ RouterModule.forRoot(routes, { onSameUrlNavigation: 'reload' }) ],
  exports: [ RouterModule ]
})
export class AppRoutingModule {}
© www.soinside.com 2019 - 2024. All rights reserved.