导航回到上一页的特定部分-Angular Router

时间:2018-10-09 06:59:04

标签: angular routes angular-ui-router angular2-routing

我有2页。 Page1和Page2。第1页和第2页位于不同的组件中。

第1页有2个部分。

在第二页的第1部分,使用router.navigate(),导航到第二页。

使用location.back()从Page2中,我可以返回到Page1。

使用Location.back()总是将我重定向到Page1的第一部分。但是我想让我重新回到Page1的第二部分。

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找的是页面锚,并且它受角路由器支持,请参阅:Angular2 Routing with Hashtag to page anchor 但是我不知道“ location.back()”是否可以使用该解决方案。您必须对此进行测试或通过router.navigate()使用自定义的“后退”导航。

否则,您还有其他选择:

  • 您可以将Page 1分为两个子组件,每个子组件一个,并带有其自己的Route。考虑一下您的应用程序设计是否更有意义。这可能是最简单的选项,在这种情况下location.back()将起作用。

  • 您可以使用可选的路由参数“ page1?section = 2”,并使用以下代码在Page1组件内进行搜索:

已剪切:

constructor(private activatedRoute: ActivatedRoute) {
   this.activatedRoute.params.subscribe((params: Params) => {
      const section = params["section"];
   });    
}

然后,您可以根据部分常量在Page1组件内滚动视图。如果等于1,则滚动到第1部分;如果等于2,则滚动到第2部分。