繁体   English   中英

Angular2路由,路由参数

[英]Angular2 Routing, Routing parameters

我对angular2上的路由参数存在一些问题,参数未定义,我将显示该项目的一些代码:它是route.module

    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 );
}
}

有什么办法可以工作吗?

您没有使用指定了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 { }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM