我有2页。 Page1和Page2。第1页和第2页位于不同的组件中。
第1页有2个部分。
在第二页的第1部分,使用router.navigate(),导航到第二页。
使用location.back()从Page2中,我可以返回到Page1。
使用Location.back()总是将我重定向到Page1的第一部分。但是我想让我重新回到Page1的第二部分。
答案 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部分。