我在Angular2中创建了一个演示应用程序,我坚持使用这个应用程序。我想在整个应用程序中使用一个全局变量/对象,比如角度上的$rootScope。请建议我怎么做才能达到这个目的?
目前,我正在使用EventEmitter
app.component.ts版本:

<a routerLink="/admin" routerLinkActive="active" style="float:right;"
    *ngIf="currentUrl != '/admin'" (adminUrl)="setUrl($event)"  >Admin-{{currentUrl}}</a>

 `@Output()  adminUrl:String;`

英雄.component.ts:
  @Output() adminUrl = new EventEmitter();
  this.adminUrl.emit(this.router.location.path());

上面的代码并不是全部的代码,这是为了理解我所做的同样的事情。

最佳答案

您可以使用localstraogeservice在整个应用程序中使用全局变量/对象
首先,您必须通过

npm install angular-2-local-storage

然后将其导入到basecomponent中
import { LocalStorageService } from 'angular-2-local-storage';

然后注入basecomponent的构造函数
constructor(protected localStorageService: LocalStorageService)

然后您可以通过
this.localStorageService.set('sessionData',{Object});

得到
 this.seesionDetails = this.localStorageService.get('sessionData');

您还可以通过下面的链接来实现localstorageservices
https://www.npmjs.com/package/angular-2-local-storage

10-06 03:51