0

我正在尝试使用 angular 在我的应用程序中构建邮件功能,问题是我想从 url 获取参数来过滤邮件。(例如:收件箱/已发送/垃圾邮件/垃圾邮件...等)

这是我的路线:

export const AppRoutes: Routes= [
  { path : '' , component : MainComponent },
  { path : 'main/:id', component : MainComponent},
]

我的 MainComponent 的构造函数:

constructor(
      private _mailService : MailService,
      private _authService : AuthService, 
      private dialog: MatDialog,
      private activatedRoute : ActivatedRoute
    ) { 
      console.log("main mailing component ctor");
      this.activatedRoute.params.subscribe((data)=> console.log(data));
    }

问题是 console.log(data) 总是给我一个空对象。

我已经用另一个组件尝试过它,它工作得很好。

我不知道我在这里做错了什么。

这是我的文件夹/组件结构:

Dashboard
   /Mailing
      /Main
      /SideBar
      Mailing.module.ts
      Mailing.component.ts
      Mailing.routing.ts
      Mailing.component.scss

这是我要访问的网址:http://localhost:4200/dashboard/main/1234

4

1 回答 1

0

从文档

两处较旧的房产仍然可用。它们的能力不如它们的替代品,不鼓励使用,并且可能在未来的 Angular 版本中被弃用。params — 包含特定于路由的必需和可选参数的 Observable。请改用 paramMap。

我使用 paramMap 解决了。 https://angular.io/api/router/ParamMap

于 2021-05-05T14:03:55.620 回答