2016-10-24 5 views
0

Angular2 RC5を使用して、ルータ経由で簡単なパラメータを取得しています。パラメータは単なる名前です。 app.routes.tsでは、routeパラメータを "directory /:ninja"に設定しました。Angular2 rc5でRoute Paramsを取得するにはどうすればよいですか?

app.routes.ts

import { Routes, RouterModule } from "@angular/router"; 
import { DirectoryComponent } from "./directory/directory.component"; 
import { HomeComponent } from "./home/home.component"; 

const APP_ROUTES: Routes = [ 

    { path: 'directory/:ninja', component: DirectoryComponent }, 
    { path: '', component: HomeComponent } 

]; 

export const APP_ROUTES_PROVIDER = RouterModule.forRoot(APP_ROUTES); 

directory.component.ts

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

@Component({ 
    selector: 'app-directory', 
    templateUrl: './directory.component.html', 
    styleUrls: ['./directory.component.css'] 
}) 
export class DirectoryComponent implements OnInit { 

    ninja: string;  

    constructor(public route: ActivatedRoute) { 

    this.ninja = route.snapshot.params['ninja']; 

    } 

    ngOnInit() { 
    } 

} 

directory.component.html

{{ninja}} 

http://localhost:4200/directory/richardにアクセスするたびに、私はROOT URLにリダイレクトされます。リチャードは忍者の名前です。

それはdirectory.component.ts

+0

http://stackoverflow.com/questions/345978 35/how-to-get-current-route/40115938#40115938 – Lonely

答えて

2

1に忍者の名前を表示する必要があり)インポート

import {ActivatedRoute} from '@angular/router'; 

2)コンストラクタ

constructor(private route:ActivatedRoute,....... 

3)

this.route.params.subscribe(params => { 
    console.log('Param whatever: ', params['whatever']); 
    this.whatever = params['whatever']; 
}); 
購読
+0

あなたの答えをありがとう。しかし、私はまだコンポーネントにパラメータを取得することができません。 –

+0

あなたはそれをplnkrに入れますか?あなたはこれを角2ベースとして取ることができます:http://plnkr.co/edit/XXeu7zi0ULY6sfdw6MYc – Lonely

+0

ok。ありがとう。それを置く –

関連する問題