确保在 app.module.ts 中已经引入了 RouterModule。
检查路由链接是否正确,如路由名称和路径是否匹配。
在 app.component.ts 中,导入 ActivatedRoute 和 Router,并订阅路由参数的变化。
通过订阅 ActivatedRoute 实例中的 paramMap,获取参数并将其分配给组件所需的变量。
代码示例:
app.module.ts:
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app.component'; import { RouterModule } from '@angular/router'; import { AppRoutingModule } from './app-routing.module';
@NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, AppRoutingModule, RouterModule.forRoot([]), ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
app.component.ts:
import { Component } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router';
@Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { title = 'my-app'; message: string;
constructor(private activatedRoute: ActivatedRoute, private router: Router) {}
ngOnInit() { this.activatedRoute.paramMap.subscribe((params) => { this.message = params.get('message'); }); } }
app-routing.module.ts:
import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; import { AppComponent } from './app.component';
const routes: Routes = [ { path: '', component: AppComponent }, { path: 'home/:message', component: AppComponent }, ];
@NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule] }) export class AppRoutingModule { }