最後に提供されるPlunkrリンクに似たAngular2アプリケーションを開発しています。ログアウト時に新しいインスタンスを取得する方法/ログアウト時にすべてのサービスを再ロードする
HeroServiceでは、私はヒーローのクリックで増分されるclickCountプロパティを持っています。しかし、ログイン後、私はこのパラメータをリセットしたい。私はサービスを使用してその値をリセットしたくない(実際には私のアプリケーションでは、私は多くのサービスを使用しているので、各サービスを使用することはできず、ログアウト時にその値をリセットする)。
アプリケーション全体をリロードせずに、特定のアクションでサービスをリセット/リロードする方法はありますか。私は全体Angular2アプリケーションを破壊し、再ブートストラップを除く方法があるとは思わない
import { Hero } from './hero';
import { HEROES } from './mock-heroes';
import { Injectable } from '@angular/core';
@Injectable()
export class HeroService {
getHeroes(): Promise<Hero[]> {
return Promise.resolve(HEROES);
}
getHeroesSlowly(): Promise<Hero[]> {
return new Promise<Hero[]>(resolve =>
setTimeout(resolve, 2000)) // delay 2 seconds
.then(() => this.getHeroes());
}
getHero(id: number): Promise<Hero> {
return this.getHeroes()
.then(heroes => heroes.find(hero => hero.id === id));
}
}
こんにちは、あなたはこの回答で与えられた例を意味しますか?この回答では、comp - > service - > compインタラクションについて言及しましたが、私が欲しいのはcomp - > service - > services interactionです。 –