2017-12-06 16 views
0

私はngOnInit()でのようなことを実行しようとしました:URLからパラメータを取得する方法(ルーティング)角度2?

ngOnInit() { 
    this.route.queryParams 
     .filter(params => params.type) 
     .subscribe(params => { 
     this.tab = params.type; 
     this.setHeader(); 
     }); 
    } 

私のURLは次のとおりです。

http://localhost:4200/s/6/t/p/create/1 

ルーティングは、次のとおりです。

{path: ':Id/t/p/create/:type', component: CalendarComponent}, 
+0

URLに6つのパラメータがあり、経路に5つのパラメータがありますng。それを確認してください。 – ArrowHead

+0

Observableを使用する場合は、[角度2のURLの値を取得する方法](https://stackoverflow.com/questions/39364225/how-get-value-from-url-in-angular-2) –

答えて

1

はそれを試してみてください。

this.route.snapshot.params["page"] 

ルートは

import {ActivatedRoute} from "@angular/router"; 
+0

の可能な複製: 'this.route.snapshot.params [" page "]の中になぜ' page'が入っているのですか?(params => this.page = + params ['page'];); ' –

+0

はthis.route.queryParams.subscribeですか? – Jessie

+0

'this.route.snapshot.params'これはすべてのクエリパラメータの配列なので、直接paramページにアクセスします。この場合、this.route.snapshot.params [" page "] –

0

を試してみて、コンストラクタ

constructor(private route: ActivatedRoute) { } 

とインポートにルートを追加し忘れてはいけないこと

const routes: Routes = [ 
    { 
    path: 'page/:page', 
    component: OrdersComponent, 
    data: { 
     title: 'Orders' 
    } 
    } 
] 

のようにする必要がありますので、ページには、クエリparamです

this.route.params.subscribe(params => { 
    this.tab = params.type; 
    this.setHeader(); 
    }); 
関連する問題