我在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