1

RC5 を使用して Angular2 アプリを作成しています。

AppComponent が読み込まれると、アプリケーションが http を使用して構成ファイルを要求し、読み込まれたら指定されたルートにアプリが移動するようにしますか?

どうすればそれを達成できますか?

各ルートには「canActivate」プロパティがありますが、ユーザーが新しいルートに移動するたびに何かをしたい場合は、もっと関係があることがわかります。ほとんどの場合、少数のルートのみを認証で保護する認証目的で使用されますが、私の場合は AppComponent のロード時に構成をロードしたいと考えています。すべてのルートのアクティベーションまたはナビゲーションではありません。

自分が何を達成しようとしているのかを明確にしたことを願っています。

4

2 に答える 2

1

リクエストを実行するリゾルバーを作成し、リゾルバーをルートに追加して、コンポーネントの onInit で解決された構成データを取得する必要があります。

コンポーネント.ルート:

export const routes: Route[] = [
  { path: ':id', component: Component1, resolve: { data: Comp1Resolver }}
];

Comp1Resolver:

@Injectable()
export class Comp1Resolverimplements Resolve<Config> {
    constructor(private configService: ConfigService) { }

    resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<Config> {
        return this.configService.get(route.params['id']);
    }
}

コンポーネント 1:

ngOnInit() {
let that = this;
 this.route.data.subscribe(data => {
 that.config= data['data'];
于 2016-08-25T06:40:43.610 に答える