首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用angular router (angular 6)返回某些页面?

如何使用angular router (angular 6)返回某些页面?
EN

Stack Overflow用户
提问于 2019-09-12 21:25:06
回答 2查看 1.4K关注 0票数 1

在我的应用程序中,我有一个你会称之为主页和结束页的东西。在这些页面之间,可能有2-4个屏幕,这取决于用户的交互。一旦用户到达最终页面并完成它,我希望应用程序总是返回到主页。

在我的应用程序中的其他实例中,我使用window.history.go(-1)返回一个页面,但是由于这个流可能是可变的,所以我正在寻找返回主页的最佳方法,而不知道它是返回历史中的2页还是4页。

使用angular 6处理这种情况的最好方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2019-09-12 21:29:43

您可以在组件中使用路由器的navigateByUrl方法,如下所示:

代码语言:javascript
复制
import {Router} from '@angular/router';

constructor(private router: Router) {}

navigateToHomepage() {
  this.router.navigateByUrl('/homepage');
}

关于返回一个或几个页面,您可以做的是在页面上的某个地方添加返回按钮,这将以编程方式将用户从位置历史记录一次返回一个页面。Angular针对以下情况提供了Location服务:

代码语言:javascript
复制
import {Location} from '@angular/common';

constructor(private location: Location) {}

goBack() {
  this.location.back();
}

位置服务文档:https://angular.io/api/common/Location

票数 0
EN

Stack Overflow用户

发布于 2019-09-12 21:42:49

在所有不是主页的路由上使用AuthGuard ,并将值存储在服务中。当您完成最后一页时,将服务中的值设置为已完成最后阶段。让AuthGuard检查服务中的该值,如果它被标记为已完成,那么您将在CanActivate函数上返回false。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57907759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档