如何在Angular中启动应用程序时调用服务?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Angular中启动应用程序时调用服务?相关的知识,希望对你有一定的参考价值。

我有一个routing-back-service,负载开始识别路线。在我的一个组件(成员配置文件)中,我想使用此服务使后退按钮作为浏览器后退按钮来获取前一个URL。

这样做的问题是,如果我在点击返回时从member-profile组件调用该服务,那么它第一次没有获得上一个路由,并且以后工作正常。

如何在应用程序启动时调用此服务,以便它可以从一开始就识别路由?

routing-back.service

import  Injectable  from '@angular/core';
import  filter, pairwise  from 'rxjs/operators';
import  Router, RoutesRecognized  from '@angular/router';

@Injectable(
  providedIn: 'root'
)
export class RoutingBackService 
  private previousUrl: string;

  constructor(private router: Router) 
    this.router.events
      .pipe(filter((e: any) => e instanceof RoutesRecognized),
        pairwise()
      ).subscribe((e: any) => 
        this.previousUrl = e[0].urlAfterRedirects;
    );
  

  public getPreviousUrl() 
    return this.previousUrl;
  

member-profile.ts

goBack() 
    const currentUser = this.userService.get();
    if (currentUser.isUserAdmin) 
      this.previousUrl = this.back.getPreviousUrl();
      this.router.navigate([ this.previousUrl ]);
     else 
      this.router.navigate([ '/' ]);
    
  
答案

可以将它放在应用程序级别.ts文件的NgOnInit方法中吗?

以上是关于如何在Angular中启动应用程序时调用服务?的主要内容,如果未能解决你的问题,请参考以下文章

如果我使用提供程序,如何在应用程序启动时调用方法?

尝试在服务启动但应用程序崩溃时调用位置权限

使用 JqueryMobile 在 phoneGap 中启动应用程序时调用服务器

Angular 2 Dashboard 应用程序 web api 在初始化时调用

如何阻止我的 MFC 应用程序在启动时调用 OnFileNew()?

Angular 2 App Component ngOnInit 在使用 iframe 时调用了两次