私はAngular 2でデモアプリを作成していますが、私はこのアプリで立ち往生しました。私は角度の$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;`
heroes.component.ts:上記のコードは、これは理解のために、すべてのコード
@Output() adminUrl = new EventEmitter();
this.adminUrl.emit(this.router.location.path());
されないが、私はどのようなもの同じことを達成するためにやっている。
使用localStorageServicesを達成するには、以下のリンクから物事をたどることができます取得し、
によって
localStorageService
の値を設定し、によって得ることができます共有サービスhttps://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service –
私のアプリでは、私はアプリが起動されると一度読み込まれているダッシュボードを使用しています。しかし、私はダッシュボードで「admin」というリンクがあり、URLが「/ admin」以外のときにこのリンクを表示したいと思っていますが、URLが「/ admin」になると私は望みませんこのリンクを表示します。問題はDashboardが一度だけロードされ、ダッシュボードに* ngIf = "adminUrl!= '/ admin'"の値がすべてのルート変更で変更されますが、ダッシュボードの値は同じままです。私ができることをお勧めしますか? –
これを試してみてくださいhttps://stackoverflow.com/questions/35985009/angular-2-what-is-equivalent-to-root-scope .Aもっと良い解決策 – Harshakj89