我正在尝试将字符串参数从组件传递给服务构造函数。在静态值的情况下很容易:
@Component({
selector: 'app-board',
templateUrl: './board.component.html',
styleUrls: ['./board.component.css'],
providers: [UsersDetailProviderService,
{provide: 'boardId', useValue: 'whatever'} ]
})
并为我服务:
constructor(private afs: AngularFirestore,
@Inject('boardId') @Optional() public boardId?: string) {
console.log(boardId);
}
我在控制台中得到了我的“任何东西”。但我真正想通过的是真正的董事会ID。在组件中,我使用 activateRoute 将板 id 获取到局部变量。
this.boardId = this.activatedRoute.snapshot.paramMap.get('id');
如何将此 id 传递给服务?
@edit我可以通过调用以板ID作为参数的服务方法来实现我的目标,然后初始化服务数据。但我认为这不是一个好方法吗?