2017-06-29 24 views
1

パラメータ、paramsが定義されていない、私はこのプロジェクトのいくつかのコードを表示します: それはroute.moduleAngular2ルーティング、ルーティングは、私が質問angular2のルーティングparametresといくつかの問題を持っている

import { NgModule } from '@angular/core'; 
import {RouterModule, Routes} from '@angular/router'; 
import {StudentRegisterComponent} from './student-register/student-register.component'; 

const routes: Routes = [ 

    { path: 'student/register', component: StudentRegisterComponent }, 
    { path: 'student/register/:token', component: StudentRegisterComponent } 
]; 

@NgModule({ 
    imports: [ 
     RouterModule.forChild([ 
      { path: 'student/register', component: StudentRegisterComponent } 
     ]) 
    ], 
    exports: [RouterModule] 
}) 
export class StudentRoutingModule { } 

およびコンポーネントファイルです:

import { Component, OnInit } from '@angular/core'; 
import { Http } from '@angular/http'; 
import {Router, ActivatedRoute, Params} from '@angular/router'; 
@Component({ 
    moduleId: module.id.toString(), 
    selector: 'student-register', 
    templateUrl: 'student-register.component.html' 
}) 
export class StudentRegisterComponent { 
constructor(private activatedRoute: ActivatedRoute 
    ) 
ngOnInit() { 
    // subscribe to router event 
     let param1 = this.activatedRoute.snapshot.params['token']; 
     console.log('params: ' + param1); 
} 
} 

どのような方法で動作するのですか?

+0

'RouterModule.forChild([ {パス: '学生/登録'、コンポーネント:StudentRegisterComponentを} ]) 'この特定のルートを設定し、以前のルーティングテーブルを使用しません – Michael

+0

ありがとう、このエラーの原因の1つになる可能性があります。これをRouteModule.forRootに変更しました([{path: 'student/register'、component :StudentRegisterComponent}])、それでもまだ彼と同じ状況 –

答えて

2

あなたはtokenが指定されているあなたのRoutesオブジェクトを使用していない。

はこれを試してみてください:

import { NgModule } from '@angular/core'; 
import {RouterModule, Routes} from '@angular/router'; 
import {StudentRegisterComponent} from './student-register/student-register.component'; 

const routes: Routes = [ 

    { path: 'student/register', component: StudentRegisterComponent }, 
    { path: 'student/register/:token', component: StudentRegisterComponent } 
]; 

@NgModule({ 
    imports: [ 
     RouterModule.forRoot(Routes) 
    ], 
    exports: [RouterModule] 
}) 
export class StudentRoutingModule { }