2016-12-20 5 views
1

を取得しますAngular2ルータは、私は私のAngular2 Webアプリケーションにこれらのルートを取り扱いしています私の他のURLのルート

import { Routes } from '@angular/router'; 
import { ErrorComponent } from './error/error.component'; 

export const ROUTES: Routes = [{ 
    path: '', redirectTo: 'login', pathMatch: 'full' 
    }, { 
    path: 'app', loadChildren:() => System.import('./layout/layout.module') 
    }, { 
    path: 'login', loadChildren:() => System.import('./login/login.module') 
    }, { 
    path: 'signin', loadChildren:() => System.import('./signin/signin.module') 
    }, { 
    path: 'validate', loadChildren:() => System.import('./validate/validate.module') 
    }, { 
    path: 'error', component: ErrorComponent 
    }, { 
    path: '**', component: ErrorComponent 
    } 
]; 

'/validate'ルートのみがクエリパラメータを再収集する必要があります。 Validateモジュールおよびコンポーネントに見てみましょう:

export const routes = [ 
    {path: '', component: Validate} 
]; 

@NgModule({ 
    declarations: [ 
    // Components/Directives/ Pipes 
    Validate 
    ], 
    imports: [ 
    CommonModule, 
    FormsModule, 
    RouterModule.forChild(routes), 
    ] 
}) 
export default class ValidateModule { 
    static routes = routes; 
} 

---------------- 

import { Component, ViewEncapsulation, OnInit, OnDestroy } from '@angular/core'; 
import { Router, ActivatedRoute } from '@angular/router'; 

import { UsersService, UserDTO } from 'cest/ts'; 

@Component({ 
    selector: '[validate]', 
    templateUrl: './validate.template.html', 
    encapsulation: ViewEncapsulation.None, 
    styleUrls: ['./validate.style.scss'], 
    providers: [ UsersService ] 
}) 
export class Validate implements OnInit, OnDestroy { 

    private id: string; 
    private token: string; 

    constructor(private router: Router, private route: ActivatedRoute, private userService: UsersService) { } 

    ngOnInit():void { 
    this.sub = this.route.queryParams.subscribe(params => { 
     this.id = params['id'] || undefined; 
     this.token = params['token'] || undefined; 
    } 

    ngOnDestroy() { 
    this.sub.unsubscribe(); 
    } 
} 

私はrouterが正しいモジュール/コンポーネントを取得しようとするとどのように関連したトラブルで上を向いています。

問題は、私はこのURLを取得しようとしています:http://localhost:3002/validate?id=am9yZGkxMEBsaXZpbmctZGlnaXRhbC13YXkuY29t&token=Ra8i4mrGbz1tf9y9vJHLAd-TKHNH0Ig8o699jXU1YU4%3D-

このURLは、idtokenの2つのクエリパラメータで構成されています。私はAngular2ルータがこのURLをブラウザurlの場所に設定した後、なぜこのURLにリダイレクトされたのか分かりません:http://localhost:3002/validate?id=am9yZGkxMEBsaXZpbmctZGlnaXRhbC13YXkuY29t&token=Ra8i4mrGbz1tf9y9vJHLAd-TKHNH0Ig8o699jXU1YU4%3D-#/login

最後のものは、最初に#/loginパスを追加したものです。

アイデア?

+0

共有コードをチェック – ranakrunal9

答えて

0

{ 
    path: 'validate/:id/:token', loadChildren:() => System.import('./validate/validate.module') 
} 

と検証のためのアプリMODULのパスを設定し、 `UsersService`の

関連する問題