Angular 9使用动态路由的解决方法如下:
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{ path: '', redirectTo: '/home', pathMatch: 'full' },
{ path: 'home', component: HomeComponent },
{ path: 'products/:id', component: ProductDetailsComponent }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-product-details',
templateUrl: './product-details.component.html',
styleUrls: ['./product-details.component.css']
})
export class ProductDetailsComponent implements OnInit {
productId: number;
constructor(private route: ActivatedRoute) { }
ngOnInit() {
this.route.params.subscribe(params => {
this.productId = +params['id'];
});
}
}
Product ID: {{ productId }}
以上代码示例中,我们定义了两个路由: '/home'和'/products/:id',其中':id'是动态参数,用于在'/products'路径后面传递产品ID。在ProductDetailsComponent组件中,我们使用ActivatedRoute服务来订阅路由参数,从而获取传递的产品ID。然后,在HTML模板中显示产品ID。
请注意,以上示例中的HomeComponent和ProductDetailsComponent需要根据实际情况进行替换。另外,还需要在根组件中添加
希望以上解决方法对你有所帮助!