typescript 快照Angular 路由的ID未定义

w8f9ii69  于 2023-03-13  发布在  TypeScript
关注(0)|答案(1)|浏览(131)

当用户尝试更新学生时,我传递了学生ID。它成功地转到updateStudent页面,并在browserlink上显示学生ID,但是,在我的应用程序组件中,它说它未定义。

学生视图组件发送sid以更新学生组件:

updateStudent(id: number) {
   console.log(id);
   this.router.navigate(['/updateStudent', id]);
 }

更新学员组件:

export class UpdateStudentComponent implements OnInit {
 id: number;
 constructor( private route: ActivatedRoute,private router: Router{
     this.id = this.route.snapshot.params['id'];
     console.log(this.id);
   }
}

路由模块:

const routes: Routes = [
 path: 'studentsList', component: StudentsListComponent },
 path: 'updateStudent/: id', component: UpdateStudentComponent },
 path: ' ', redirectTo: 'main', pathMatch: 'full' },
 ];
ny6fqffe

ny6fqffe1#

使用params.subscribe代替你的路由器模块中的参数也被命名为sid,所以它应该是sid而不是id

this.route.params.subscribe((params) => {
     this.id = params['sid'];
     console.log(this.id);
 })

相关问题